XPath verwendet Pfadausdrücke Knoten oder Knoten-Sets in einem XML-Dokument zu wählen. Der Knoten wird durch folgende Schritte einen Pfad oder ausgewählt.
Das XML-Dokument Beispiel
Wir werden das folgende XML-Dokument in den folgenden Beispielen verwendet werden.
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<title lang="en">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="en">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
Auswählen von Knoten
XPath verwendet Ausdrücke Pfad Knoten in einem XML-Dokument zu wählen. Der Knoten wird durch folgende Schritte einen Pfad oder ausgewählt. Die nützlichsten Pfadausdrücke sind im Folgenden aufgelistet:
Ausdruck | Beschreibung |
---|---|
nodename | Wählt alle Knoten mit dem Namen „ nodename “ |
/ | Wählt vom Wurzelknoten |
// | Wählt Knoten im Dokument aus dem aktuellen Knoten, der die Auswahl übereinstimmen, egal wo sie sind |
. | Wählt den aktuellen Knoten |
.. | Wählt die übergeordnete Knoten des aktuellen Knotens |
@ | wählt Attribute |
In der folgenden Tabelle haben wir einige Pfadausdrücke und das Ergebnis der Ausdrücke aufgeführt:
Wegausdruck | Ergebnis |
---|---|
Buchhandlung | Wählt alle Knoten mit dem Namen "bookstore" |
/Buchhandlung | Auswählen des Wurzelelements Buchhandlung Note: Wenn der Pfad mit einem Schrägstrich beginnt ( / ) , es stellt immer einen absoluten Pfad zu einem Elemente! |
Buchhandlung / Buch | Wählt alle Buch-Elemente, die Kinder der Buchhandlung sind |
//Buch | Wählt alle ganz gleich buchen Elemente, wo sie in dem Dokument sind |
Buchhandlung // Buch | Wählt alle Buch-Elemente, die Nachkomme der Buchhandlung Element sind, egal wo sie sich unter dem Buchhandlung Element sind |
// @ lang | Wählt alle Attribute, die lang sind benannt |
Prädikate
Prädikaten verwendet, um einen bestimmten Knoten oder einen Knoten zu finden, die einen bestimmten Wert enthält.
Prädikate werden immer in eckigen Klammern eingebettet.
In der folgenden Tabelle haben wir einige Pfadausdrücke mit Prädikaten und das Ergebnis der Ausdrücke aufgeführt:
Wegausdruck | Ergebnis |
---|---|
/ Buchhandlung / Buch [1] | Wählt das erste Buch Element, das das Kind von der Buchhandlung Elemente ist. Note: In IE 5,6,7,8,9 ersten Knoten [0], sondern nach W3C, ist [1]. Um dieses Problem in IE zu lösen, stellen Sie die Selection zu XPath: In JavaScript: xml . setProperty("SelectionLanguage","XPath") ; |
/ Buchhandlung / Buch [ last() ] | Wählt das letzte Buch-Element, das das Kind von der Buchhandlung Elemente |
/ Buchhandlung / Buch [ last() -1] | Wählt das vorletzter Buch-Element, das das Kind von der Buchhandlung Elemente |
/ Buchhandlung / Buch [ position() <3] | Wählt die ersten beiden Buch-Elemente, die Kinder von der Buchhandlung Elements |
// title [@lang] | Wählt alle Titel Elemente, die ein Attribut namens lang haben |
// title [@ lang = 'de'] | Wählt alle Titel Elemente , die einen „lang“ -Attribut mit einem Wert von haben "en" |
/bookstore/book[price>35.00] | Wählt die alle Bücher Elemente der Buchhandlung Elements, das ein Preiselement mit einem Wert von mehr als 35.00 hat |
/bookstore/book[price>35.00]/title | Wählt alle Titel Elemente der Buch Elemente der Buchhandlung Element, das ein Preiselement mit einem Wert von mehr als 35.00 haben |
Auswählen Unknown Knoten
XPath Platzhalter können unbekannte XML wählen Knoten verwendet werden.
Wildcard | Beschreibung |
---|---|
* | Entspricht jeden Elementknoten |
@* | Entspricht jeden Attributknoten |
node() | Entspricht einem beliebigen Knoten jeglicher Art |
In der folgenden Tabelle haben wir einige Pfadausdrücke und das Ergebnis der Ausdrücke aufgeführt:
Wegausdruck | Ergebnis |
---|---|
/Buchhandlung/* | Wählt alle untergeordneten Elementknoten der Buchhandlung Element |
// * | Wählt alle Elemente im Dokument |
//Titel[@*] | Wählt alle Titelelemente, die mindestens ein Attribut von jeder Art haben |
Auswählen Mehrere Pfade
Durch die Verwendung der | Operator in einem XPath-Ausdruck können Sie mehrere Pfade wählen.
In der folgenden Tabelle haben wir einige Pfadausdrücke und das Ergebnis der Ausdrücke aufgeführt:
Wegausdruck | Ergebnis |
---|---|
// Buch / title | // Buch / Preis | Wählt alle Titel und Preiselemente aller Buchelemente |
// Titel | //Preis | Wählt alle Titel und Preiselemente im Dokument |
/ Buchhandlung / Buch / Titel | //Preis | Wählt alle Titel Elemente des Buches Element der Buchhandlung Element und alle Preiselemente im Dokument |