XPath-Axen (Axe)

XML-Beispiel-Dokument

Wir verwenden in den folgenden Beispielen diesen XML-Dokument:

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>

  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>

  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>
</bookstore>

XPath Achsen

Achsen können eine Knoten Sammlung relativ zum aktuellen Knoten definieren. Ergebnis
Achsenname ancestor
Wählen Sie alle Vorgänger des aktuellen Knotens (Eltern, Großeltern usw.) aus. ancestor-or-self
Wählen Sie alle Vorgänger des aktuellen Knotens (Eltern, Großeltern usw.) sowie den aktuellen Knoten selbst aus. Wählen Sie alle Attribute des aktuellen Knotens aus.
attribute Wählen Sie alle Unter Elemente des aktuellen Knotens aus.
child descendant
Wählen Sie alle Nachkommen Elemente des aktuellen Knotens (Kinder, Enkelkinder usw.) aus. descendant-or-self
Wählen Sie alle Nachkommen Elemente des aktuellen Knotens (Kinder, Enkelkinder usw.) sowie den aktuellen Knoten selbst aus. following
Wählen Sie alle Nodes aus, die nach dem End-Tag des aktuellen Knotens im Dokument stehen. namespace
Wählen Sie alle Namensraum Nodes des aktuellen Knotens aus. parent
Wählen Sie den Eltern Knoten des aktuellen Knotens aus. preceding
Wählen Sie alle Nodes aus, die vor dem Start-Tag des aktuellen Knotens im Dokument stehen. preceding-sibling
Wählen Sie alle gleichstufigen Vorgänger Nodes des aktuellen Knotens aus. self

Wählen Sie den aktuellen Knoten aus.

Positions Pfad Ausdruck

Der Positions Pfad kann absolut oder relativ sein.

Der absolute Positions Pfad beginnt mit einem senkrechten Strich (/), während der relative Positions Pfad nicht so beginnt. In beiden Fällen umfasst der Positions Pfad eine oder mehrere Schritte, die durch Schrägstriche getrennt sind:

/step/step/...

Relativer Positions Pfad:

step/step/...

Jeder Schritt wird basierend auf den Knoten im aktuellen Knoten Satz berechnet.

Schritt (step) beinhaltet:

Achse (axis)
Definieren Sie die Baumbeziehung zwischen den ausgewählten Knoten und dem aktuellen Knoten
Knoten-Test (node-test)
Identifizieren Sie Knoten innerhalb eines Achsenbereichs
Kein oder mehrere Prädikate (predicate)
Verfeinern Sie eingehend den ausgewählten Knoten Satz

Syntax des Schritts:

Achsenname::Knoten-Test[Prädikat]

Beispiel

Beispiel Ergebnis
child::book Wählen Sie alle 'book' Nodes, die zu den Unter Nodes des aktuellen Knotens gehören.
attribute::lang Wählen Sie das 'lang' Attribut des aktuellen Knotens aus.
child::* Wählen Sie alle Unter Elemente des aktuellen Knotens aus.
attribute::* Wählen Sie alle Attribute des aktuellen Knotens aus.
child::text() Wählen Sie alle Text-Unter Nodes des aktuellen Knotens aus.
child::node() Wählen Sie alle Unter Nodes des aktuellen Knotens aus.
descendant::book Wähle alle Nachkommenknoten des aktuellen Knotens
ancestor::book Wähle alle Vorfahrenknoten des aktuellen Knotens
ancestor-or-self::book Wähle alle Vorfahrenknoten des aktuellen Knotens sowie den aktuellen Knoten (wenn dieser Knoten ein book Knoten ist)
child::*/child::price Wähle alle price Nachkommenknoten des aktuellen Knotens aus.