【发布时间】:2011-06-11 18:00:18
【问题描述】:
我正在尝试找到一种在节点内搜索字符串的方法,但不包括这些节点的某些子元素的内容。简单明了,我想在文本段落中搜索字符串,不包括作为段落子元素的脚注。
例如,
我的文件是:
<document>
<p n="1">My text starts here/</p>
<p n="2">Then it goes on there<footnote>It's not a very long text!</footnote></p>
</document>
当我搜索“text”时,我希望Xpath / XQuery 检索第一个 p 元素,而不是第二个(其中“text”仅包含在脚注子元素中)。
我尝试了contains() 函数,但它检索了两个p 元素。
任何帮助将不胜感激:)
【问题讨论】:
-
好问题,+1。请参阅我的答案,以获得一个简短的 XPath 1.0 表达式,即使在更复杂的 XML 文档中也可以选择所需的文本节点。 :)