Как выбрать атрибут, который содержит знак @ (at-sign) - PullRequest
2 голосов
/ 23 ноября 2010

С учетом этого xml:

<results>
    <result version="@2.15" url="some url"/>
    <result version="2.14" url="some url"/>
</results>

Как выбрать элемент, содержащий версию = "@ 2.15"? У меня проблемы с выяснением того, как поместить @ -подпись в XPath.

Спасибо заранее, Erik

Ответы [ 2 ]

2 голосов
/ 23 ноября 2010

Этот XPath выбирает нужный элемент result:

/results/result[@version='@2.15']

Примечание : нет необходимости "экранировать" литерал @.

1 голос
/ 23 ноября 2010

Как выбрать элемент, содержащий версия = "@ 2.15"? У меня проблема выяснить, как поставить знак @ в XPath.

В XPath это просто : любая строка литерал должна быть окружена парой цитат или апострофов.

Таким образом:

@x 

указывает атрибут с именем x

но:

'@x'

это просто строковый литерал, содержащий символы '@' и 'x'

Решение

Использование:

/*/*[@version='@2.15']

Выбирает каждый элемент, который является дочерним по отношению к верхнему элементу документа и имеет атрибут version со значением строка "@2.15"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...