2011-04-19 1 views
6

J'ai 2 éléments avec le même attribut mais avec des valeurs de nœuds enfants différentes. Puis-je interroger pour trouver un élément spécifique qui correspond à l'attribut et également la valeur du nœud enfant. Pour être précis, il s'agit de l'exemple de xml que j'utilise pour interroger (chaque élément du fichier XML original a plus de 10 nœuds childe).Requête xpath pour trouver un élément avec une condition qui correspond à l'attribut et à la valeur du nœud enfant

<Book size="2"> 
    <Title>abc</Title> 
    <Price>10</Price> 
</Book> 
<Book size="2"> 
    <Title>xyz</Title> 
    <Price>20</Price> 
</Book> 
<Book size="4"> 
    <Title>Harry</Title> 
    <Price>10</Price> 
</Book> 

Donc, maintenant je veux trouver l'élément qui a le livre @size = "2" et Title = xyz. Est-ce possible en utilisant SelectSingleNode méthode? Si non, comment demander cela?

Merci

+0

duplication possible de [expression Xpath avec plusieurs prédicats] (http://stackoverflow.com/questions/568713/xpath-expression-with-multiple-predicates) –

Répondre

12

Ce:

//Book[@size='2'][Title='xyz'] 

Ou ceci:

//Book[@size='2' and Title='xyz'] 

Notez que l'utilisation de // est déconseillée lorsque votre schéma est connu.

1

Est-ce que cela fonctionne?

//Book[@size='2']//Title[text() = "xyz"]/.. 
Questions connexes