Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nokogiri,JRuby中xpath的不同结果_Ruby_Jruby_Nokogiri_Xpath - Fatal编程技术网

Nokogiri,JRuby中xpath的不同结果

Nokogiri,JRuby中xpath的不同结果,ruby,jruby,nokogiri,xpath,Ruby,Jruby,Nokogiri,Xpath,使用ruby和jruby时,我从nokogiri中的同一xpath表达式中得到了不同的结果 在ruby中,以下xpath表达式返回节点,而在jruby中,它返回节点集: parent = node.xpath("./ancestor::node()[name(.) = 'div' or name(.) = 'p'][1]") 还有其他人注意到类似的行为吗?在MRI Nokogiri中使用libxml2的方式和纯Java版本在处理只匹配一个节点的谓词时使用的任何库之间似乎存在差异。您应该向邮件列

使用ruby和jruby时,我从nokogiri中的同一xpath表达式中得到了不同的结果

在ruby中,以下xpath表达式返回节点,而在jruby中,它返回节点集:

parent = node.xpath("./ancestor::node()[name(.) = 'div' or name(.) = 'p'][1]")

还有其他人注意到类似的行为吗?

在MRI Nokogiri中使用libxml2的方式和纯Java版本在处理只匹配一个节点的谓词时使用的任何库之间似乎存在差异。您应该向邮件列表报告这一点。

该表达式应该返回上下文节点的第一个div或p祖先,如果不使用./first步骤则更好。问题可能在于节点的类型:它是节点集吗?谢谢,我会提出这个问题。