Bonjour,
/root/A[B[@type = 2]/C[. = 'toto' ]]
Sinon, un détail : une nodelist en XPath, comme son nom l'indique, c'est bien une liste linéaire de noeuds, pas un fragment d'arbre, comme dans l'exemple de résultat que tu as donné.
Si dans ta nodelist tu veux les éléments A filtrés et les éléments descendants correspondant aux critères, dans l'ordre du document, ça donnerait cela :
/root/A[B[@type = 2]/C[. = 'toto' ]]|/root/A[B[@type = 2]/C[. = 'toto' ]]/B[@type= 2 and C = 'toto']|/root/A[B[@type = 2]/C[. = 'toto' ]]/B[@type= 2 and C = 'toto']/C
Facile, non ?
Partager