Значение атрибута вывода с XPath 1.0
Пример:
<div class='known' name='unknown'>
Как я могу вернуться name
значение атрибута ("неизвестно") на основе известного class
значение атрибута, с XPath 1.0?
В поисках ответа я обнаружил, что в XPath 2.0 есть инструмент для этого:
//div[@class='known']/@name/string()
Но не могу найти аналог XPath 1.0
1 ответ
Решение
Используйте:
string(//div[@class='known']/@name)
Это производит строковое значение name
атрибут первого в порядке документа div
элемент такой, что строковое значение его class
атрибут "unknown"
,
Если //div[@class='known']
выбирает более одного div
элемент, и вы хотите, чтобы значение name
атрибут для выбранного k-го div
, используйте:
string((//div[@class='known'])[$k]/@name)
где $k
должен быть заменен на желаемое целое число, или иначе переменная $k
должен быть в контексте оценки для выражения XPath.