我尝试在'/ doc / story / content'下搜索包含文本'Yahoo'的节点,它返回'content'节点,但我需要包含'Yahoo'或其父节点的精确文本节点
<doc>
<story>
<content id="201009281450332423">
<ul>MSW NYNES NYPG1 DILMA</ul>
<p> <k> Yahoo, made </k> it nice </p>
<p>
<author>-v-</author>
</p>
</content>
</story>
</doc>
Xpath:"/doc/story/content[contains(., 'Yahoo')]"
答案 0 :(得分:45)
由于您只需要包含文本 Yahoo 的所有textNodes,请使用以下XPath。
//text()[contains(., 'Yahoo')]
这应该只返回包含 Yahoo (区分大小写)的所有textNodes。
答案 1 :(得分:40)
您的XML格式错误。 </content></doc></story>
应为</content></story></doc>
。
除此之外,你想要的XPath是
/doc/story/content//*[contains(., 'Yahoo')]
(选择包含文字“Yahoo”的<content>
的任何后代 - 这将选择<p>
)