在 XML 文档中,例如:
<a>
<b>
<c>Text1</c>
...
</b>
<b>
<c>Text2</c>
...
</b>
...
</a>
如果任何元素包含“Text1”的内部文本,则返回 Null 集的单个 XPath 1.0 兼容、本地命名空间()兼容表达式是什么。
我尝试了许多不同的表达式,但无法获取会返回空集的元素。
例如
//*[local-name()='c' and .='Text1']
- or -
/*[local-name()='a']/*[local-name()='b']/*not(local-name()='c' and .='Text1'])
严格要求是由于 .NET 函数调用 XmlNode.SelectSingleNode 方法(字符串)的特定实现
最终精确解 由 Dimitre 提供
/*[not(//*[local-name()='c' and . = 'Text1'])]