XPath-vägsuttryck
Används för att välja noder eller noduppsättningar i ett XML-dokument
1. Terminologi: Nod: 7 typer: element, attribut, text, namnrymder, bearbetningskommandon, kommentarer, dokument- (rot-)noder
2. Nodrelationer: Förälder, Barn, Syskon, Förfader, Ättling
3. Väguttryck
nodnamn Nodnamn, välj alla barnnoder i denna nod Exempel: barnnod Barnnoden i den aktuella noden inkluderar inte noder för barnbarn och lägre
/ 从根节点选取 例:/root/childnode/grandsonnode
Representerar alla efterföljande noder, t.ex. ://childnode Alla efterföljande noder som heter childnoder
. Representerar den aktuella noden Exempel: ./childnode representerar barnnoden till den aktuella noden
.. Representera föräldranoden Exempel: /nearnode representerar nearnode-barnnoden till föräldranoden
@ Välj attributet /root/childnode/@id för att representera alla noduppsättningar med id-attribut i childnode
4. Predikat
Predikat kan införa vissa begränsningar på nodmängden, vilket gör urvalet mer precist
/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: Jokrar (*,@*,nod(), text()) stöds också i XPath-vägen.
Exempel: /bokhandel/*
titel[@*]
6. XPath-axeln
Definiera en mängd noder relativt den aktuella noden
Förfader alla förfäders noder
Attribut alla attributnoder
Barn-alla barn-element
ättlingar alla efterkommande noder (söner, barnbarn...). )
följer alla noder efter avslut markerar före alla noder innan taggning börjar
följande-syskon slutar alla syskonnoder efter taggen
föregående-syskon-alla syskonnoder innan man börjar tagga
Namnrymd: Alla noder i det aktuella namnrymden
förälder
självströmsnod
Användning: Axelnamn: Nodtest [predikat]
Till exempel: förfader::bok
barn::text()
7. Operatörer
| Sammanslagning av två nodmängder Exempel: /root/book[1] | /root/book[3]
+,-,*,dev,mod
=,!=,<,>,<=,>=
eller, och eller och |