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