Подтвердить что ты не робот

Использование not() в XPath

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

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

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

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

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

Спасибо!:)

4b9b3361

Ответ 2

Try

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

или

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

должен работать как.

Ответ 3

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