2009-10-11 15 views
136

chcę napisać coś w tym rodzaju:Jak używać "nie" w xpath?

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

(co oznacza, że ​​wszystkie linki tam atrybut „id” nie zawiera ciąg „xx”)

nie mogę znaleźć sobie prawo składnia.

Odpowiedz

198

nie() jest funkcją w XPath (w przeciwieństwie do operatora), więc

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

można użyć not(expression) funkcja

lub

expression != true() 
7

żadna z tych odpowiedzi przepracowanych dla mnie dla Pythona. I rozwiązać niniejszą

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

Również można użyć lub stan w XPath przez | operatora. Takich, jak

Czasami chcemy element, który nie ma klasy. Możesz więc zrobić:

a[not(@class)] 
+0

W ruby ​​też działa: D –