XPath syntaksi
- Edellinen sivu XPath solmu
- Seuraava sivu XPath akselit
XPath käyttää polkuilmauksia valitakseen solmuja tai solmujoukkoa XML-dokumentista. Solmut valitaan polun (path) tai askelten (steps) avulla.
XML-esimerkkidokumentti
Käytämme tätä XML-dokumenttia seuraavissa esimerkeissä.
<?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>
Solmun valinta
XPath käyttää polkuilmauksia valitakseen solmuja XML-dokumentista. Solmut valitaan polun tai askelten avulla.
Alla luetellaan kaikkein hyödyllisimmät polkuilmaukset:
Ilmaisu | Kuvaus |
---|---|
nodename | Valitaan tämän solmun kaikki lapsisolmut. |
/ | Valitaan juuri-solmu. |
// | Valitaan dokumentin solmut, jotka vastaavat valittua solmua, riippumatta niiden sijainnista. |
. | Valitaan nykyinen solmu. |
.. | Valitaan nykyisen solmun emo-solmu. |
@ | Valitaan ominaisuudet. |
Esimerkki
Alla olevassa taulukossa on lueteltu joitakin polkuilmauksia ja niiden tuloksia:
Polkumuotoilija | Tulokset |
---|---|
bookstore | Valitaan bookstore-elementin kaikki lapsisolmut. |
/bookstore |
Valitaan juuri-elementti bookstore. Huomautus: Jos polku alkaa absolute path ( / ), polku edustaa aina absolute path johonkin elementtiin! |
bookstore/book | Valitaan kaikki bookstore-elementin lapsielementit omaavat book-elementit. |
//book | Valitaan kaikki book-lapsielementit riippumatta niiden sijainnista dokumentissa. |
bookstore//book | Valitaan kaikki bookstore-elementin jälkeläiset book-elementit, riippumatta niiden sijainnista bookstore-elementin alla. |
//@lang | Valitaan kaikki nimeltä lang omaavat ominaisuudet. |
Predikaattorit (Predicates)
Predikaattori käytetään tietyn solmun tai solmun, joka sisältää tietyn arvon, löytämiseen.
Predikaattori on sisällytetty square brackets sisään.
Esimerkki
Alla olevassa taulukossa luetellaan joitakin predikaattoreita ja niiden tuloksia:
Polkumuotoilija | Tulokset |
---|---|
/bookstore/book[1] | Valitaan bookstore-alihakemiston ensimmäinen book-elementti. |
/bookstore/book[last()] | Valitaan bookstore-alihakemiston viimeinen book-elementti. |
/bookstore/book[last()-1] | Valitaan bookstore-alihakemiston viimeinen toinen book-elementti. |
/bookstore/book[position()<3] | Valitaan ensimmäiset kaksi bookstore-elementin alihakemistoa omaavaa book-elementtiä. |
//title[@lang] | Valitaan kaikki lang-nimisen ominaisuuden omaavat title-elementit. |
//title[@lang='eng'] | Valitaan kaikki title-elementit, joilla on arvona eng lang-ominaisuus. |
/bookstore/book[price>35.00] | Valitaan kaikki bookstore-elementin book-elementit, ja niiden price-elementin arvon on oltava suurempi kuin 35.00. |
/bookstore/book[price>35.00]/title | Valitse kaikki bookstore-elementin book-elementin title-elementit, ja niiden price-elementin arvon tulee olla suurempi kuin 35.00. |
Valitse tuntemattomat solmut
XPath sovellusmerkinnät voidaan käyttää tuntemattomien XML-elementtien valintaan.
Sovellus | Kuvaus |
---|---|
* | Tunnista kaikki elementtisolmut. |
@* | Tunnista kaikki attribuuttisolmut. |
node() | Tunnista kaikki solmutyyppiset solmut. |
Esimerkki
Seuraavassa taulukossa luetellaan joitakin polkumuotoilijoita ja näiden muotoilijoiden tuloksia:
Polkumuotoilija | Tulokset |
---|---|
/bookstore/* | Valitse kaikki bookstore-elementin alielementit. |
//* | Valitse kaikki dokumentin elementit. |
//title[@*] | Valitse kaikki attribuutteja sisältävät title-elementit. |
Valitse useita polkuja
Voit valita useita polkuja käyttämällä polkumuotoilijassa "|"-laskinta.
Esimerkki
Seuraavassa taulukossa luetellaan joitakin polkumuotoilijoita ja näiden muotoilijoiden tuloksia:
Polkumuotoilija | Tulokset |
---|---|
//book/title | //book/price | Valitse kaikki book-elementin title- ja price-elementit. |
//title | //price | Valitse kaikki dokumentin title- ja price-elementit. |
/bookstore/book/title | //price | Valitse kaikki bookstore-elementin book-elementin title-elementit ja kaikki dokumentin price-elementit. |
- Edellinen sivu XPath solmu
- Seuraava sivu XPath akselit