Ruby代码:
require 'nokogiri'
f = open("doc2.xml")
# f.each { |line| puts line} # <-- works, so it's reading the whole file
@doc = Nokogiri::XML(f)
puts @doc.xpath("//2") # Nokogiri doesn't bother to get any nodes other than the first one.
XML文档:
<?xml version="1.0"?>
<1> T </1>
<2> U </2>
<3> V </3>
输出:
是的,没有输出。我仍然不知道为什么Nokogiri只是阅读文档的第一行然后放弃。这是不正确的XML吗?答案 0 :(得分:2)
是的,它是不正确的XML。必须只有一个外部元素:
<?xml version="1.0"?>
<content>
<1> T </1>
<2> U </2>
<3> V </3>
</content>