397 Stimmen

So wählen Sie das erste Element mit einem bestimmten Attribut mit XPath aus

Der XPath bookstore/book[1] wählt den ersten Buchknoten unter bookstore .

Wie kann ich den ersten Knoten auswählen, der eine kompliziertere Bedingung erfüllt, z. B. den ersten Knoten, der mit /bookstore/book[@location='US']

5voto

Verwenden Sie den Index, um den gewünschten Knoten zu erhalten, wenn der xpath kompliziert ist oder mehr als ein Knoten mit demselben xpath vorhanden ist.

Ex :

(//bookstore[@location = 'US'])[index]

Sie können die Nummer des gewünschten Knotens angeben.

2voto

Ed Bangga Punkte 12127

Wenn ein Namespace für die angegebene XML-Datei vorhanden ist, ist es besser, diesen zu verwenden.

(/*[local-name() ='bookstore']/*[local-name()='book'][@location='US'])[1]

0voto

SenthilKumarP Punkte 59

Zum Beispiel.

<input b="demo">

Und

(input[@b='demo'])[1]

0voto

Mohsen Abasi Punkte 1582

Mit Hilfe eines Online xpath-Prüfer Ich schreibe diese Antwort...
Hierfür:

<table id="t2"><tbody>
<tr><td>123</td><td>other</td></tr>
<tr><td>foo</td><td>columns</td></tr>
<tr><td>bar</td><td>are</td></tr>
<tr><td>xyz</td><td>ignored</td></tr>
</tbody></table>

den folgenden xpath:

id("t2") / tbody / tr / td[1]

Ausgänge:

123
foo
bar
xyz

Desde 1 bedeutet alle auswählen td Elemente, die das erste Kind ihrer eigenen direkten Eltern sind.
Aber der folgende xpath:

(id("t2") / tbody / tr / td)[1]

Ausgänge:

123

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X