XPath Axes (axes)
- Föregående sida XPath syntax
- Nästa sida XPath operators
XML-exempel
Vi kommer att använda detta XML-dokument i följande exempel:
<?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-axel
En axel kan definiera en nodelåda relativt den aktuella noden.
Axelnamn | Resultat |
---|---|
ancestor | Välj alla förfäder (förälder, farförälder m.m.). |
ancestor-or-self | Välj alla förfäder (förälder, farförälder m.m.) samt den aktuella noden själv. |
attribute | Välj alla egenskaper till den aktuella noden. |
child | Välj alla barnelement till den aktuella noden. |
descendant | Välj alla efterkommande element (barn, barnbarn m.m.). |
descendant-or-self | Välj alla efterkommande element (barn, barnbarn m.m.) samt den aktuella noden själv. |
following | Välj alla noder efter den aktuella nodens sluttecken i dokumentet. |
namespace | Välj alla namnrymdsnoder för den aktuella noden. |
parent | Välj den aktuella nodens föräldern. |
preceding | Välj alla noder innan den aktuella nodens börjanstecken i dokumentet. |
preceding-sibling | Välj alla jämlika noder innan den aktuella noden. |
self | Välj den aktuella noden. |
Sökvägsuttryck
Sökvägen kan vara absolut eller relativ.
Det absoluta sökvägen börjar med en vertikal linje ( / ), medan den relativa sökvägen inte gör det. I båda fallen inkluderar sökvägen en eller flera steg, varje steg är delat av en vertikal linje:
Absolut positionspath:
/step/step/...
Relativ positionspath:
step/step/...
Varje steg beräknas baserat på noder i den aktuella noduppsättningen.
Steg (step) inkluderar:
- Axel (axis)
- Definiera det trädrelaterade förhållandet mellan den valda noden och den aktuella noden
- Nodtest (node-test)
- Identifiera noder inom en axel
- Ingen eller flera frågeord (predicate)
- Fördjupa urval av den valda noduppsättningen
Stegs syntax:
Axelns namn::nodtest[fråge]
Fall
Exempel | Resultat |
---|---|
child::book | Välj alla book-noder som tillhör alla barn till den aktuella noden. |
attribute::lang | Välj den aktuella noddens lang-egenskap. |
child::* | Välj alla barnelement till den aktuella noden. |
attribute::* | Välj alla egenskaper till den aktuella noden. |
child::text() | Välj alla textbarnnoder till den aktuella noden. |
child::node() | Välj alla barnnoder till den aktuella noden. |
descendant::book | Välj alla book efterkommande till den aktuella noden. |
ancestor::book | Välj alla book förfäder till den aktuella noden. |
ancestor-or-self::book | Välj alla book förfäder och den aktuella noden (om denna nod är en book-nod) |
child::*/child::price | Välj alla price barnnoderna till den aktuella noden. |
- Föregående sida XPath syntax
- Nästa sida XPath operators