Si j'ai sélectionné un élément à l'aide de XPATH, comment puis-je obtenir son nom?
Je veux dire quelque chose comme text()
fonction dans //element/[@id=elid]/text()
.
Utilisez name()
. (Trouvez des documents pour les nouvelles versions de la langue XPath ici .)
Voici des versions modifiées de votre exemple:
Fonctionne uniquement dans XPath 2.0:
//element/*[@id='elid']/name()
Fonctionne dans XPath 1.0 et 2.0:
name(//element/*[@id='elid'])
Vous pouvez également utiliser local-name()
qui retourne la partie locale du nom développé (sans aucun préfixe d'espace de noms).
L'arbre des noms de balises peut également être obtenu avec
echo "du //Element/*" | xmllint --Shell response-02.xml
Ele1
id
name
Nested1
id
name
Ele2