Dom 如何使用;不是";在XPath中?

Dom 如何使用;不是";在XPath中?,dom,xpath,xpathquery,Dom,Xpath,Xpathquery,我想写一些类似的东西: //a[not contains(@id, 'xx')] (表示“id”属性不包含字符串“xx”的所有链接) 我找不到正确的语法。not()是XPath中的函数(与运算符相反),因此 您可以使用not(expression)函数 或 对于python,这些答案都不适用于我。我解决了这个问题 a[not(@id='XX')] 您还可以通过|操作符在xpath中使用或条件。比如 a[not(@id='XX')]|a[not(@class='YY')] 有时我们需要一个没

我想写一些类似的东西:

//a[not contains(@id, 'xx')]
(表示“id”属性不包含字符串“xx”的所有链接)

我找不到正确的语法。

not()
是XPath中的函数(与运算符相反),因此

您可以使用
not(expression)
函数


对于python,这些答案都不适用于我。我解决了这个问题

a[not(@id='XX')]
您还可以通过
|
操作符在xpath中使用或条件。比如

a[not(@id='XX')]|a[not(@class='YY')]
有时我们需要一个没有类的元素。所以你可以这样做

a[not(@class)]

使用
布尔函数
如下:

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

有没有办法说抓取所有标签,但不要抓取标签里面的标签?想象一下类似于文本的东西。我要所有的文本都用p,但不要用a。这在XPath中是可能的吗?这不完全是我的情况,比那稍微复杂一点,但大致相同。
a[not(@class)]
//a[(contains(@id, 'xx'))=false]