简单查询:
Nokogiri::XML('<a xmlns=""></a>').css("a")
返回:
Nokogiri::XML::XPath::SyntaxError: // :a
from nokogiri/XmlXpathContext.java:123:in `evaluate'
但:
Nokogiri::XML('<a xmlns=""></a>').xpath("a")
返回:
[#<Nokogiri::XML::Element:0x3864 name="a">]
Nokogiri宝石的错误吗?或者我做错了什么?
编辑:我正在使用jruby 1.7.10和nokogiri 1.6.1答案 0 :(得分:1)
jruby nokogiri与C版完全不同,他们使用不同的引擎。不幸的是,命名空间问题是众所周知的,github问题中存在一些不同的问题:
这是最重要的一个。 https://github.com/sparklemotion/nokogiri/issues/902
我遇到了同样的问题,但未能找到好的工作。我正在尝试解析html,所以对于我的jruby版本,我只是包装jsoup(一个java库)