XPath:排除包含特定单词的文本节点



我对Xpath有问题。我正在尝试查找div 第一次迭代的所有文本节点,但排除其中包含关键字的文本节点。

一个简单的例子:

<div class="blabla">
  <p>I like bananas</p>
  <p>I also like apples</p>
<div class="blabla">
  <p>some text</p>

我想从第一个div"blabla"中获取所有文本,但排除所有包含"香蕉"一词的段落。在这种情况下,我只想"我也喜欢苹果"。段落的数量和"香蕉"一词的位置是随机的。

这是我尝试过的:

(//div[@class='blabla'])[1][not(contains(text(), 'bananas'))]

我不知道为什么这不起作用。如果有人有想法,将不胜感激!

您在第三个谓词之前缺少对p子元素的引用:

//div[@class='blabla'][1]/p[not(contains(text(), 'bananas'))]

只是/p两个字母造成了差异。

最新更新