Versuchen Sie, das //site/name
aus der folgenden XML auszuwählen, wobei //site/homepage
dasselbe ist wie //result/url
. Der unmittelbar folgende XPath funktioniert für eine hartcodierte //site/homepage
, aber ich würde gerne einen Selektor für die Gleichheitsprüfung verwenden, wenn möglich.Wählen Sie den Knoten aus, in dem der Text dem Text eines anderen Knotens entspricht
//site[homepage/text() = "google.com"]/name/text()
Die XML, die ich versuche zu entsprechen.
<?xml version="1.0" encoding="UTF-8"?>
<root>
<site>
<homepage>google.com</homepage>
<name>Google</name>
</site>
<site>
<homepage>www.bing.com</homepage>
<name>Bing</name>
</site>
<result>
<name>First Result</name>
<url>google.com</url>
</result>
<result>
<name>Second Result</name>
<url>www.bing.com</url>
</result>
</root>
Bitte führen Sie die * genaue * XML-Knoten, die Sie möchten aus Ihrem Beispiel XML ausgewählt werden. Tun Sie dies als eine Liste von Ergebnis-XML-Knoten, nicht als mehrdeutige, teilweise XPath-Ausdrücke. Vielen Dank. – kjhughes