我正在分析一个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 node ,并像这样迭代它们:
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 ,而不是从整个文档中取出所有相同类型的子 node .我做错了什么?