XPath-kieli
- Edellinen sivu XPath-siirrot
- Seuraava sivu XPath-akseli
XPath käyttää polkuilmauksia valitakseen solmuja tai solmusarjoja XML-dokumentista. Solmut valitaan polun tai askelten avulla.
XML-esimerkkidokumentti
Käytämme tätä XML-dokumenttia esimerkkinä alla.
<?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>
Valitse solmu
XPath käyttää polkuilmauksia valitakseen solmuja XML-dokumentista. Solmut valitaan polun tai askeleen avulla.
Seuraavassa on lueteltu kaikkein hyödyllisimmät polkuilmaukset:
Ilmaisu | Kuvaus |
---|---|
nodename | Valitse tämän solmun kaikki lapsinodet. |
/ | Valitse juurelementti. |
// | Valitse dokumentin solmut, jotka vastaavat valittua solmua, riippumatta niiden sijainnista. |
. | Valitse nykyinen solmu. |
.. | Valitse nykyisen solmun vanhempi solmu. |
@ | Valitse attribuutti. |
Esimerkki
Seuraavassa taulukossa on lueteltu joitakin polkuilmauksia ja niiden tuloksia:
Polkuilmaisu | Tulos |
---|---|
bookstore | Valitse bookstore-elementin kaikki lapsinodet. |
/bookstore |
Valitse juurelementti bookstore. Huomautus: Jos polku alkaa suoralla viivalla (/), tämä polku edustaa aina johonkin elementtiin johtavaa absoluuttista polkua! |
bookstore/book | Valitse kaikki bookstore-elementin lapsielementtien book-elementit. |
//book | Valitse kaikki book-lapsielementit riippumatta niiden sijainnista dokumentissa. |
bookstore//book | Valitse kaikki book-elementit, jotka kuuluvat bookstore-elementin jälkeläisiin, riippumatta siitä, missä niiden sijainti on bookstore-elementin alla. |
//@lang | Valitse kaikki lang-nimellä varustetut ominaisuudet. |
Predikaatti (Predicates)
Predikaatti käytetään tietyn solmun tai solmun määritellyn arvon löytämiseen.
Predikaatti on sisällytetty square-pareihin.
Esimerkki
Seuraavassa taulukossa luetellaan joitakin predikaattorilla varustettuja polkuilmaisuja sekä ilmaisujen tuloksia:
Polkuilmaisu | Tulos |
---|---|
/bookstore/book[1] | Valitse bookstore-elementin alielementin ensimmäinen book-elementti. |
/bookstore/book[last()] | Valitse bookstore-elementin alielementin viimeinen book-elementti. |
/bookstore/book[last()-1] | Valitse bookstore-elementin alielementin viimeinen book-elementti. |
/bookstore/book[position()<3] | Valitse ensimmäiset kaksi bookstore-elementin alielementtiin kuuluvaa book-elementtiä. |
//title[@lang] | Valitse kaikki lang-nimellä varustetut title-elementit. |
//title[@lang='eng'] | Valitse kaikki title-elementit, joilla on lang-ominaisuuden arvo eng. |
/bookstore/book[price>35.00] | Valitse bookstore-elementin kaikki book-elementit, ja niiden price-elementin arvon tulee olla suurempi kuin 35.00. |
/bookstore/book[price>35.00]/title | Valitse bookstore-elementin kaikki book-elementin title-elementit, ja niiden price-elementin arvon tulee olla suurempi kuin 35.00. |
Valitse tuntemattomat solmut
XPath-yleispilkut voidaan käyttää tuntemattomien XML-elementtien valintaan.
Yleispilkku | Kuvaus |
---|---|
* | Sopii mihin tahansa elementtisolmuun. |
@* | Sopii mihin tahansa ominaisuussolmuun. |
node() | Sopii mihin tahansa solmuun. |
Esimerkki
Seuraavassa taulukossa luetellaan joitakin polkuilmaisuja sekä näiden ilmaisujen tuloksia:
Polkuilmaisu | Tulos |
---|---|
/bookstore/* | Valitse bookstore-elementin kaikki alielementit. |
//* | Valitse dokumentin kaikki elementit. |
//title[@*] | Valitse kaikki ominaisuudella varustetut title-elementit. |
Valitse useita polkuja
Voit valita useita polkuja käyttämällä polkuilmaisussa merkkijonoa “|”.
Esimerkki
Seuraavassa taulukossa luetellaan joitakin polkuilmaisuja sekä näiden ilmaisujen tuloksia:
Polkuilmaisu | Tulos |
---|---|
//book/title | //book/price | Valitse book-elementin kaikki title- ja price-elementit. |
//title | //price | Valitse dokumentin kaikki title- ja price-elementit. |
/bookstore/book/title | //price | Valitse kaikki bookstore-elementin book-elementin alle kuuluvat title-elementit sekä dokumentin kaikki price-elementit. |
- Edellinen sivu XPath-siirrot
- Seuraava sivu XPath-akseli