Neueste Web-Entwicklung Tutorials
 

XPath Syntax


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