J'ai besoin d'obtenir les nœuds enfants d'un nœud en utilisant XPath car je veux "descendre" dans un nœud. Voici le code que je suis en train:ruby, libxml obtenir les nœuds enfants qui correspondent à un xpath
xml_ns = 'Document:http://www.google.com/books/'
xml_document = XML::Document.file('./test_pages/test.xml')
book_xpath = '//Document:View/Document:Books'
book_title_xpath = '//Document:Title'
xml_document.find(book_xpath, xml_ns).each() { | item |
puts item
item.find(book_title_xpath, xml_ns).each() { |item2|
puts '========================'
puts 'name: ' + item2.content().strip()
}
}
Et voici un fragment XML
<Document xmlns="http://www.google.com/books/">
<View>
<Books>
<Title>pragmatic programming</Title>
</Books>
<Comics>
<Title>x-men</Title>
</Comics>
</View>
</Document>
Les premiers travaux FIND trouver et retourne le nœud Livres. Cependant, la seconde recherche ('// Document: Titre') renvoie tous les noeuds Titre dans le document même si je ne recherche que dans les noeuds trouvés.
Pourquoi cela se produirait-il? J'ai fatigué de modifier le second XPath, mais rien de fatigant ne marche. Aucun conseil?
thx, pensait que je l'avais essayé, mais je suppose que je n'avais pas. –