Я разбираю XML-документ, который выглядит примерно так:
<MyBook>
<title>Favorite Poems</title>
<issn>123-456</issn>
<pages>45</pages>
</MyBook>
<MyBook>
<title>Chocolate Desserts</title>
<issn>654-098</issn>
<pages>100</pages>
</MyBook>
<MyBook>
<title>Jabberwocky</title>
<issn>454-545</issn>
<pages>19</pages>
</MyBook>
Я использую xpath для вытягивания узлов MyBook и прокручиваю их так:
xmldoc.xpath("//MyBook").each do |node|
mytitle=node.xpath("//title").text
puts mytitle
end
вывод выглядит следующим образом:
Favorite PoemsChocolateDessertsJabberwocky
Favorite PoemsChocolateDessertsJabberwocky
Favorite PoemsChocolateDessertsJabberwocky
как будто node - это действительно весь xmldoc. Однако, если я распечатаю node внутри итератора, каждый раз это то, что я ожидаю, только один MyBook node. Мне нужно иметь возможность вытягивать дочерние узлы из каждого node последовательно, а не всех одного и того же типа ребенка node из всего документа. Что я делаю неправильно?