如何在xpath中使用“not”?

时间:2009-10-11 15:40:38

标签: dom xpath xpathquery

我想写一些类似的东西:

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

(意味着'id'属性的所有链接都不包含字符串'xx')

我找不到合适的语法。

4 个答案:

答案 0 :(得分:224)

not()是xpath中的函数(与运算符相对),所以

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

答案 1 :(得分:38)

您可以使用not(expression)功能

expression != true()

答案 2 :(得分:10)

这些答案对我来说都不适用于python。我解决了这个

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

您也可以使用|运算符在xpath中使用或条件。如

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

有时我们想要没有课程的元素。所以你可以这样做

a[not(@class)]

答案 3 :(得分:0)

使用boolean function如下:

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