如何定位文档中的所有元素除了特定元素名称?
例如,我想排除terminate
个元素。它们可以在整个文档中出现。
<root>
<terminate attr="1" />
<other>
The brown fox jumps over the fence.
<terminate>
<b>stuff</b>
</terminate>
</other>
</root>
我尝试使用not(..)
运算符但未成功,因为我使用错了。
坦率地说谷歌'不'是艰难的!
答案 0 :(得分:51)
以下xpath应该可以正常工作
/root/*[not(self::terminate)]
此外,我认为你也可以这样做
/root/*[not(name()='terminate')]
答案 1 :(得分:1)
如果您使用的是XPath 2.0,则可以使用
/root/* except /root/terminate
您的期望是什么?它匹配第一个序列中存在但不存在第二个序列的节点。