Seule expression XPath pour obtenir certains attributs
-
09-10-2019 - |
Question
J'ai un document XML avec des nœuds comme
<node name="xxx" id="xxx">
Puis-je utiliser une seule expression XPath pour obtenir tous les nœuds d'attributs dont le parent a également atrtribute @id = 7
?
La solution
Non
. Vous devez définir quel attribut à lire -. Un par un
/node[@id=7]/@name
va obtenir le name
/node[@id=7]/@id
va obtenir le id
etc.
Autres conseils
Utilisez :
//@*[not(name()='id') and ../@id = 7]
Ceci permet de sélectionner tous les attributs non-id dont le parent a un attribut de valeur id
avec le numéro de 7
. cela acceptera id='7'
et id=' 7 '
//@*[not(name()='id') and ../@id = '7']
Ceci permet de sélectionner tous les attributs non-id dont le parent a un attribut de valeur id
avec la chaîne de '7'
. Cela acceptera id='7'
mais pas id=' 7 '
Cela permet de sélectionner tous id
attribut noeuds qui ont la valeur 7:
//*/@id[. = '7']
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow