Нокогири не хочет читать весь файл - PullRequest
1 голос
/ 01 декабря 2011

Рубиновый код:

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>

Выход:

Да нет выхода. Я до сих пор понятия не имею, почему Нокогири только читает первую строку документа, а затем сдается. Это неправильный XML?

1 Ответ

2 голосов
/ 01 декабря 2011

Да, это неверный XML.Должен быть ровно один внешний элемент:

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