2009-10-11 1 views
136

Я хочу написать что-то в этом роде:Как использовать «не» в xpath?

//a[not contains(@id, 'xx')] 

(то есть все ссылки, которые есть «идентификатор» атрибут не содержит строку «XX»)

Я не могу найти право синтаксис.

ответ

198

нет() является функцией в XPath (в отличие от оператора), так

//a[not(contains(@id, 'xx'))] 
34

вы можете использовать not(expression) функция

или

expression != true() 
7

Ни один из этих ответов работали для меня для питона. Я решил этим

a[not(@id='XX')] 

Также вы можете использовать или условие в вашем XPath от | оператора. Такие, как

a[not(@id='XX')]|a[not(@class='YY')] 

Иногда нам нужен элемент, который не имеет класса. Таким образом, вы можете сделать так:

a[not(@class)] 
+0

В рубиновых работах тоже: D –

 Смежные вопросы

  • Нет связанных вопросов^_^