Используя не () в XPath

Я хотел бы, как использовать "не" в XPath правильно. Я просто, может казаться, не заставляю это работать с атрибутами.

Скажите, что у меня есть это выражение: //*[@name = 'Bob'] Это допустимо, и возвратит все узлы, которые имеют атрибут имени, равняющийся 'Bob'.

Теперь, если я хочу все узлы, которые имеют атрибут имени, которые не равняются 'Bob', я должен использовать XPath, такой как: //*[@name not(='Bob')] но это недопустимо.

Я попробовал несколько комбинаций с не () помещаемый в другой порядок, но я, может казаться, не заставляю это работать. Кто-то мог сообщить мне, как использовать не () правильно?

Кроме того, порядок изменяется при использовании элементов вместо атрибутов? Такой как: //name[text() = 'Bob']

Спасибо! :)

22
задан developer 5 August 2010 в 19:33
поделиться

3 ответа

Согласно: http://msdn.microsoft.com/en-us/library/ms256086.aspx , вы пробовали

//*[@name != 'Bob']
24
ответ дан 29 November 2019 в 05:03
поделиться
//*[@name and @name != 'Bob']
6
ответ дан 29 November 2019 в 05:03
поделиться

Попробуйте

 //*[@name != 'Bob']

или

  //*[not(@name = 'Bob')]

, должны работать оба.

5
ответ дан 29 November 2019 в 05:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: