ei Verwendung von XPath auf einem einzelnen Knoten werden Elemente in allen Knoten zurückgegebe
Ich analysiere ein XML-Dokument, das ungefähr so aussieht:
<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>
Ich benutze xpath, um die MyBook-Knoten zu entfernen und sie wie folgt zu durchlaufen:
xmldoc.xpath("//MyBook").each do |node|
mytitle=node.xpath("//title").text
puts mytitle
end
die Ausgabe sieht so aus:
Favorite PoemsChocolateDessertsJabberwocky
Favorite PoemsChocolateDessertsJabberwocky
Favorite PoemsChocolateDessertsJabberwocky
als ob der Knoten wirklich das ganze xmldoc ist. Wenn ich jedoch den Knoten innerhalb des Iterators drucke, ist es jedes Mal, was ich erwarte, nur ein einzelner MyBook-Knoten. Ich muss in der Lage sein, die untergeordneten Knoten nacheinander aus jedem Knoten zu ziehen, nicht alle der gleichen Art von untergeordneten Knoten aus dem gesamten Dokument. Was mache ich falsch