XPath syntaks
- Forrige side XPath knuder
- Næste side XPath aks
XPath bruger stirekvisiter til at vælge noder eller nodemasser i et XML-dokument. Noder vælges ved at følge en sti (path) eller trin (steps).
XML eksempeldokument
Vi vil bruge denne XML-dokument i nedenstående eksempler.
<?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>
Vælg node
XPath bruger stirekvisiter til at vælge noder i et XML-dokument. Noder vælges ved at følge en sti eller trin.
Nedenfor er de mest nyttige stirekvisiter listede:
Utryk | Beskrivelse |
---|---|
nodename | Vælg alle underknuder til dette element. |
/ | Vælg fra rodnoden. |
// | Vælg noder i dokumentet, der matcher den valgte node, uden at tage deres placering i betragtning. |
. | Vælg den aktuelle node. |
.. | Vælg forælderen til den aktuelle node. |
@ | Vælg egenskab. |
Eksempel
I nedenstående tabel har vi listet nogle stirekvisiter og deres resultater:
Stiudspunktudtryk | Resultat |
---|---|
bookstore | Vælg alle underknuder af 'bookstore'-elementet. |
/bookstore |
Vælg rod-elementet 'bookstore'. Bemærk: Hvis stien starter med en ret linje (/), repræsenterer denne sti altid en absolut sti til et element! |
bookstore/book | Vælg alle 'book'-elementer, der er underelementer af 'bookstore'. |
//book | Vælg alle underelementer af 'book', uanset deres placering i dokumentet. |
bookstore//book | Vælg alle efterkommere af elementet 'bookstore', uanset deres placering under 'bookstore'. |
//@lang | Vælg alle egenskaber med navnet lang. |
Predikat (Predicates)
Predikatet bruges til at finde en bestemt knudepunkt eller en knudepunkt, der indeholder en bestemt værdi.
Predikatet er indsat i klammer.
Eksempel
I nedenstående tabel viser vi nogle stiudspunktudtryk med predikat samt resultaterne for disse udtryk:
Stiudspunktudtryk | Resultat |
---|---|
/bookstore/book[1] | Vælg det første book element, der er et underelement af bookstore elementet. |
/bookstore/book[last()] | Vælg det sidste book element, der er et underelement af bookstore elementet. |
/bookstore/book[last()-1] | Vælg den anden sidste book element, der er et underelement af bookstore elementet. |
/bookstore/book[position()<3] | Vælg de to første book elementer, der er underelementer af bookstore elementet. |
//title[@lang] | Vælg alle title elementer med en egenskab kaldet lang. |
//title[@lang='eng'] | Vælg alle title elementer, der har en lang egenskab med værdien eng. |
/bookstore/book[price>35.00] | Vælg alle book elementer i bookstore elementet, hvor price elementets værdi er større end 35.00. |
/bookstore/book[price>35.00]/title | Vælg alle title elementer i book elementet i bookstore elementet, hvor price elementets værdi er større end 35.00. |
Vælg ukendte knudepunkter
XPath wildcards kan bruges til at vælge ukendte XML elementer.
Wildcards | Beskrivelse |
---|---|
* | Match alle elementknudepunkter. |
@* | Match alle egenskabsknudepunkter. |
node() | Match alle typer af knudepunkter. |
Eksempel
I nedenstående tabel viser vi nogle stiudspunktudtryk samt resultaterne for disse udtryk:
Stiudspunktudtryk | Resultat |
---|---|
/bookstore/* | Vælg alle underelementer af bookstore elementet. |
//* | Vælg alle elementer i dokumentet. |
//title[@*] | Vælg alle title elementer med egenskaber. |
Vælg flere stier
Ved at bruge operatoren "|" i stiudspunktudtrykket kan du vælge flere stier.
Eksempel
I nedenstående tabel viser vi nogle stiudspunktudtryk samt resultaterne for disse udtryk:
Stiudspunktudtryk | Resultat |
---|---|
//book/title | //book/price | Vælg alle title og price elementer i book elementet. |
//title | //price | Vælg alle title og price elementer i dokumentet. |
/bookstore/book/title | //price | Vælg alle title elementer, der tilhører bookstore-elementet, samt alle price elementer i dokumentet. |
- Forrige side XPath knuder
- Næste side XPath aks