2009-10-11 6 views
136

Voglio scrivere qualcosa del genere:Come usare "not" in xpath?

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

(cioè tutti i link che vi attributo 'id' non contiene la stringa 'XX')

Non riesco a trovare il giusto sintassi.

risposta

198

non() è una funzione in XPath (al contrario di un operatore), in modo

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

è possibile utilizzare not(expression) funzione

o

expression != true() 
7

Nessuna di queste risposte lavorato per me per pitone. Ho risolto da questa

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

Inoltre è possibile utilizzare o condizione nella vostra XPath | dell'operatore. Ad esempio

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

A volte vogliamo elementi che non abbiano classe. Quindi puoi fare come

a[not(@class)] 
+0

Anche in rubino: D –