XPath-Axen (Axe)
- Vorherige Seite XPath-Syntax
- Nächste Seite XPath-Operatoren
XML-Beispiel Dokument
Wir werden in den folgenden Beispielen diesen XML-Dokument verwenden:
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
XPath-Achse
Die Achse kann eine Knotensammlung definieren, die sich relativ zum aktuellen Knoten befindet.
Achsenname | Ergebnis |
---|---|
ancestor | Wählen Sie alle Vorfahren (Eltern, Großeltern usw.) des aktuellen Knotens. |
ancestor-or-self | Wählen Sie alle Vorfahren (Eltern, Großeltern usw.) des aktuellen Knotens sowie den aktuellen Knoten selbst. |
attribute | Wählen Sie alle Attribute des aktuellen Knotens aus. |
child | Wählen Sie alle Kindelemente des aktuellen Knotens aus. |
descendant | Wählen Sie alle Nachkommenknoten des aktuellen Knotens (Kinder, Enkelkinder usw.). |
descendant-or-self | Wählen Sie alle Nachkommenknoten des aktuellen Knotens (Kinder, Enkelkinder usw.) sowie den aktuellen Knoten selbst. |
following | Wählen Sie alle Knoten nach der Endmarke des aktuellen Knotens im Dokument. |
namespace | Wählen Sie alle Namensraumknoten des aktuellen Knotens. |
parent | Wählen Sie den Elternknoten des aktuellen Knotens. |
preceding | Wählen Sie alle Knoten vor der Startmarke des aktuellen Knotens im Dokument. |
preceding-sibling | Wählen Sie alle gleichrangigen Knoten vor dem aktuellen Knoten. |
self | Wählen Sie den aktuellen Knoten. |
Positions Pfad Ausdruck
Der Positions Pfad kann entweder absolut oder relativ sein.
Der absolute Pfad beginnt mit dem waagerechten Strich (/), während der relative Pfad nicht so ist. In beiden Fällen enthält der Positions Pfad eine oder mehrere Schritte, die durch einen Strich getrennt sind:
Absoluter Positions-Pfad:
/step/step/...
Relativer Positions-Pfad:
step/step/...
Jeder Schritt wird basierend auf den Knoten berechnet, die sich im aktuellen Knotenmenge befinden.
Schritt (step) einschließlich:
- Achse (axis)
- Definieren Sie die Baumverbindung zwischen der gewählten Knotenmenge und dem aktuellen Knoten
- Knotentest (node-test)
- Knoten innerhalb eines bestimmten Axes erkennen
- Kein oder mehrere Prädikate (Predicate)
- Die Auswahl der gewünschten Knotenmenge weiter verfeinern
Schritt-Syntax:
Axennamen::Knotentest[Prädikat]
Beispiel
Beispiel | Ergebnis |
---|---|
child::book | Wählen Sie alle book-Knoten aus, die zu den Kindelementen des aktuellen Knotens gehören. |
attribute::lang | Wählen Sie das lang-Attribut des aktuellen Knotens aus. |
child::* | Wählen Sie alle Kindelemente des aktuellen Knotens aus. |
attribute::* | Wählen Sie alle Attribute des aktuellen Knotens aus. |
child::text() | Wählen Sie alle Textkindknoten des aktuellen Knotens aus. |
child::node() | Wählen Sie alle Kindknoten des aktuellen Knotens aus. |
descendant::book | Wählen Sie alle Nachkommenknoten von book aus. |
ancestor::book | Wählen Sie alle Vorfahrenknoten von book aus. |
ancestor-or-self::book | Wählen Sie alle Vorfahrenknoten von book und den aktuellen Knoten (falls dieser Knoten ein book-Knoten ist) aus. |
child::*/child::price | Wählen Sie alle price-Nachkommenknoten des aktuellen Knotens aus. |
- Vorherige Seite XPath-Syntax
- Nächste Seite XPath-Operatoren