Nokogiri不想读整个文件

时间:2011-12-01 13:16:24

标签: ruby xml parsing nokogiri

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吗?

1 个答案:

答案 0 :(得分:2)

是的,它是不正确的XML。必须只有一个外部元素:

<?xml version="1.0"?>
<content>
    <1> T </1>
    <2> U </2>
    <3> V </3>
</content>