2010-08-19 7 views
1

J'ai un fichier XML qui ressemble à quelque chose comme ceci:Comment interroger les noeuds XML en fonction de la valeur de l'attribut de son nœud parent

<Library> 
<Author Name = "JRR Tolkien"> 
<Book Title = "Lord Of the Rings" /> 
<Book Title = "The Hobbit" /> 
</Author> 
<Author Name = "JK Rowling"> 
<Book Title = "Harry Potter and the Sorcerers Stone" /> 
<Book Title = "Harry Potter and the Prisoner of Azkaban" /> 
</Author> 
</Library> 

Quel est le XPath pour sélectionner tous les noeuds « Livre » dont le parent Le noeud "Auteur" a la valeur "JK Rowling"?

Répondre

3

Ceci est correctement plus intuitif et strict qui sélectionne tous les livres qui ont un Author attribut Name est 'JK Rowling' en tant que parent. Et le Author doit également avoir le Library en tant que parent.

/Library/Author[@Name='JK Rowling']/Book 
+1

+1 pour la deuxième option. –

+1

Oui, la 2ème option est beaucoup plus claire. J'étais sur le point de poster quelque chose de similaire, mais vous avez édité votre réponse avant;) –

+1

Je suis totalement d'accord avec vous deux. J'ai donc supprimé le premier parce que ça ne servait à rien. –

Questions connexes