Getting element's name in XPATH
Use name()
. (Find docs for newer versions of the XPath language here.)
Here are modified versions of your example:
Works in XPath 2.0 only:
//element/*[@id='elid']/name()
Works in XPath 1.0 and 2.0:
name(//element/*[@id='elid'])
You could also use local-name()
which returns the local part of the expanded name (without any namespace prefix).
The tag names tree can also be obtained with
echo "du //Element/*" | xmllint --shell response-02.xml
Ele1
id
name
Nested1
id
name
Ele2