Ich habe versucht, unter "/ doc/story/content" nach Knoten zu suchen, die den Text "Yahoo" enthalten. Es wird der Knoten "content" zurückgegeben. Ich benötige jedoch einen genauen Textknoten, der "Yahoo" oder einen übergeordneten Knoten enthält
<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')]"
Da Sie nur alle textNodes benötigen, die den Text Yahoo enthalten, verwenden Sie den folgenden XPath.
//text()[contains(., 'Yahoo')]
Dies sollte Ihnen nur alle textNodes zurückgeben, die Yahoo (Groß-/Kleinschreibung beachten) enthalten.
Ihre XML ist fehlerhaft. </content></doc></story>
sollte sein </content></story></doc>
.
Abgesehen davon ist der XPath, den Sie möchten
/doc/story/content//*[contains(., 'Yahoo')]
(wählen Sie einen Nachkommen von <content>
mit dem Text "Yahoo" - hiermit wird der <p>
)