Получение имени элемента в 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
Другие вопросы по тегам