Étant donné le code XML suivant, comment puis-je écrire une requête XPath pour extraire les nœuds où l'attribut foo
existe?
<node1>
<node2>
<node3 foo='bar'></node3>
<node3></node3>
<node3 bar='foo'></node3>
<node3 foo='foobar'></node3>
</node2>
</node1>
Court et doux:
//*[@foo]
Bien sûr, vous devriez utiliser une expression plus spécifique. Mais avec [@attributeName]
_ vous obtenez tous les nœuds qui ont cet attribut.
Utilisez l'expression XPath suivante
//*[boolean(@foo)]
Si vous utilisez et xpath, cela peut peut-être vous aider:
count(//*[@foo])
il retournera le compte du noeud/enfant qui a l'attribut foo