J'ai essayé de rechercher des nœuds contenant du texte "Yahoo" sous "/ doc/story/content", il renvoie le nœud "content", mais j'ai besoin d'un nœud de texte exact qui contient "Yahoo" ou son parent
<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')]"
Puisque vous avez besoin de tous les textNodes contenant uniquement le texte Yahoo , utilisez le XPath suivant.
//text()[contains(., 'Yahoo')]
Cela devrait vous renvoyer tous les textNodes qui contiennent Yahoo (sensible à la casse).
Votre XML est mal formé. </content></doc></story>
devrait être </content></story></doc>
.
En dehors de cela, le XPath que vous voudriez est
/doc/story/content//*[contains(., 'Yahoo')]
(sélectionnez un descendant de <content>
qui contient le texte "Yahoo" - cela sélectionnera le <p>
)