Получение имени элемента в XPATH
Если я выбрал элемент, используя XPATH, как я могу получить его имя?
Я имею в виду что-то вроде text()
функция в //element/[@id=elid]/text()
,
2 ответа
Решение
Использование name()
Вот измененные версии вашего примера:
Работает только в XPath 2.0:
//element/*[@id='elid']/name()
Работает в XPath 1.0 и 2.0:
name(//element/*[@id='elid'])
Вы также можете использовать local-name()
который возвращает локальную часть расширенного имени (без префикса пространства имен).
Дерево имен тегов также можно получить с помощью
echo "du //Element/*" | xmllint --shell response-02.xml
Ele1
id
name
Nested1
id
name
Ele2