我使用nokogiri选择“keywords”属性,如下所示:
puts page.parser.xpath("//meta[@name='keywords']").to_html
我正在使用的其中一个页面有关键字标签,首字母“K”,这促使我使查询不区分大小写.
<meta name="keywords"> AND <meta name="Keywords">
所以,我的问题是:使nokogiri选择大小写不正确的最好方法是什么?
下面的编辑Tomalak的建议对于这个具体的问题很有用.我也想使用这个例子来帮助我了解nokogiri,并且有几个问题,我想知道并没有成功搜索.例如,正确的’伪类’Nokogiri Docs适合这样的问题吗?
我也很好奇,在nokogiri的比赛?()方法.我没有找到任何关于该方法的澄清.它与XPath 2.0中的“匹配”概念有什么关系(因此可以用来解决这个问题)?
非常感谢.
解决方法
包装可读性:
puts page.parser.xpath(" //meta[ translate( @name,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz' ) = 'keywords' ] ").to_html
XPath 1.0中没有“小写”功能,所以你必须使用translate()这种东西.根据需要添加重音字母.