XPath-stiuttrykk
Brukes til å velge noder eller sett med noder i et XML-dokument
1. Terminologi: Node: 7 typer: elementer, attributter, tekst, navnerom, behandlingskommandoer, kommentarer, dokument- (rot-)noder
2. Nodeforhold: Forelder, Barn, Søsken, Forfader, Etterkommer
3. Stiuttrykk
Nodenavn Node Navn, velg alle barnenoder i denne noden Eksempel: barnenode Childnode barnenoden i den nåværende noden inkluderer ikke noder til barnebarn og lavere
/ 从根节点选取 例:/root/childnode/grandsonnode
Representerer alle etterkommernoder f.eks. ://childnode Alle etterkommernoder kalt childnoder
. Representerer den nåværende noden Eksempel: ./childnode representerer barnenoden til den nåværende noden
.. Representer foreldrenoden Eksempel: /nearnode representerer nearnode-barnenoden til foreldrenoden
@ Velg attributtet /root/childnode/@id for å representere alle nodesett med id-attributter i childnode
4. Predikater
Predikater kan pålegge noen begrensninger på nodesettet, noe som gjør utvelgelsen mer presis
/root/book[1] 节点集中的第一个节点
/root/book[last()] 节点集中最后一个节点
/root/book[position() - 1] 节点集中倒数第二个节点集
/root/book[position() < 5] 节点集中前五个节点集
/root/book[@id] 节点集中含有属性id的节点集
/root/book[@id='chinese'] 节点集中id属性值为chinese的节点集
/root/book[price > 35]/title 节点集中book的price元素值大于35的title节点集
5. Joker: Jokere (*,@*,node(), tekst()) støttes også i XPath-stien.
Eksempel: /bokhandel/*
tittel[@*]
6. XPath-akse
Definer et sett med noder relativt til den nåværende noden
Forfader alle forfedrenoder
Tilordne alle attributtnoder
barn alle barneelementer
etterkommere alle etterkommere (sønner, barnebarn...). )
følger alle noder etter sluttmerking før alle noder før tagging starter
følgende-søsken avslutter alle søskennoder etter taggen
forutgående-søsken alle søskennoder før man begynner å tagge
Navnerom: Alle noder i det nåværende navnerommet
Forelder
Selvstrømsnode
Bruk: Aksenavn: Node Test [predikat]
For eksempel: forfader::bok
barn::tekst()
7. Operatører
| Sammenslåing av to nodesett Eksempel: /root/book[1] | /rot/bok[3]
+,-,*,dev,mod
=,!=,<,>,<=,>=
eller, og eller og |