Однократное выражение XPath, чтобы получить некоторые атрибуты

StackOverflow https://stackoverflow.com/questions/4171961

Вопрос

У меня есть документ XML с некоторыми узлами, как

<node name="xxx" id="xxx">

Могу ли я использовать однократное выражение XPath, чтобы получить все узлы атрибутов, родитель которых также атрибут @id = 7?

Это было полезно?

Решение

Нет. Вам нужно будет определить, какой атрибут чтения - один за другим.

/node[@id=7]/@name 

Получу name

/node[@id=7]/@id

Получу id

и т. д.

Другие советы

Использовать:

//@*[not(name()='id') and ../@id = 7]

Это выбирает все атрибуты без идентификатора, родитель которого имеет id атрибут со значением номера 7. Отказ Это примет id='7' и id=' 7 '

//@*[not(name()='id') and ../@id = '7']

Это выбирает все атрибуты без идентификатора, родитель которого имеет id атрибут со значением строки '7'. Отказ Это примет id='7' но нет id=' 7 '

Это выберет все id атрибут Узлы, имеющие значение 7:

//*/@id[. = '7']
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top