我试图在'/ 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>
Run Code Online (Sandbox Code Playgroud)
Xpath的: "/doc/story/content[contains(., 'Yahoo')]"
Rav*_*ish 49
由于您只需要包含文本Yahoo的所有textNodes ,请使用以下XPath.
//text()[contains(., 'Yahoo')]
Run Code Online (Sandbox Code Playgroud)
这应该返回所有包含Yahoo(区分大小写)的textNodes .
Jon*_*Jon 41
您的XML格式错误.</content></doc></story>
应该是</content></story></doc>
.
除此之外,你想要的XPath是
/doc/story/content//*[contains(., 'Yahoo')]
Run Code Online (Sandbox Code Playgroud)
(选择任何后代<content>
包含文本"Yahoo" - 这将选择<p>
)