Bei der Arbeit mit Xpath (die nicht sehr lange war), stieß ich auf etwas Seltsames.Warum würde ein Xpath-Positionsauswahlausdruck mehrere Knoten zurückgeben?
Verkürzte Version des xml (Der vollständige xml ist here und ein Überblick auf pastebin):
<?xml version="1.0" encoding="utf-8" ?>
<body copyright="All data copyright San Francisco Muni 2013.">
<route tag="all">
<message id="10268" creator="jflynn" startBoundary="1378121400000" startBoundaryStr="Mon, Sep 02 04:30:00 PDT 2013" endBoundary="1378191540000" endBoundaryStr="Mon, Sep 02 23:59:00 PDT 2013" sendToBuses="false">
<text>Sunday schedules today.</text>
</message>
</route>
<route tag="44">
<message id="10221" creator="mlee" startBoundary="1377525600000" startBoundaryStr="Mon, Aug 26 07:00:00 PDT 2013" endBoundary="1382857140000" endBoundaryStr="Sat, Oct 26 23:59:00 PDT 2013" sendToBuses="false">
<routeConfiguredForMessage tag="44"> <stop tag="6420" title="Silver Ave & Revere Ave" />
</routeConfiguredForMessage>
<text>Stop moved across Revere During Construction</text>
</message>
<message id="10222" creator="mlee" startBoundary="1377525600000" startBoundaryStr="Mon, Aug 26 07:00:00 PDT 2013" endBoundary="1382857140000" endBoundaryStr="Sat, Oct 26 23:59:00 PDT 2013" sendToBuses="false">
<routeConfiguredForMessage tag="44"> <stop tag="6420" title="Silver Ave & Revere Ave" />
</routeConfiguredForMessage>
<text>Stop moved across Revere During Construction</text>
</message>
</route>
</body>
Der Ausdruck
//route[1]
zurück den ersten route
Knoten wie ich erwartet hatte. Wenn jedoch die ersten message
Knoten auszuwählen versucht, mit
//message[1]
mehrere message
Knoten zurückgegeben wurden, anstatt nur ein.
Zuerst ging ich davon aus, dass es sich um ein Plattformproblem handelte, aber bei Tests mit Android, Desktop Java und ein paar Online-Xpath-Testern erzielte ich dieselben Ergebnisse.
Was könnte das Problem sein?
Sehr gute und grundlegende Frage .. * + 1 * für die gleichen .. –
mögliche Duplikate von [erste Knoten in XPath Ergebnissatz erhalten] (http://StackOverflow.com/Questions/9199415/getting-first- node-in-xpath-result-set) –