XML och XPath
Vad är XPath?
XPath är en huvudkomponent i XSLT-standarden.
XPath kan användas för att lokalisera (navigera) element och egenskaper i ett XML-dokument.
XPath

- XPath är en syntax för att definiera olika delar av ett XML-dokument
- XPath använder sökvägsexpressioner för att navigera i ett XML-dokument
- XPath innehåller en standardfunktionslager
- XPath är en huvudkomponent i XSLT och XQuery
- XPath är en rekommenderad standard av W3C
XPath-sökvägsexpressioner
XPath använder sökvägsexpressioner för att välja noder eller nodgrupper i ett XML-dokument. Dessa sökvägsexpressioner ser mycket lika ut som de uttryck du ser när du använder ett traditionellt datorfilsystem.
XPath-expressioner kan användas i JavaScript, Java, XML Schema, PHP, Python, C och C++ samt många andra språk.
XPath används i XSLT
XPath är en huvudkomponent i XSLT-standarden.
Förstå XPath, kan du utnyttja XSL fullt ut.
XPath Exempel
Vi kommer att använda följande XML-dokument:
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book category="美食"> <title lang="zh">雅舍谈吃</title> <author>梁实秋</author> <year>2013</year> <price>35</price> </book> <book category="儿童"> <title lang="zh">了不起的狐狸爸爸</title> <author>罗尔德·达尔</author> <year>2009</year> <price>10.00</price> </book> <book category="文学"> <title lang="zh">将熟悉变为陌生</title> <author>齐格蒙·鲍曼</author> <author>彼得·哈夫纳</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="政治"> <title lang="zh">论美国的民主</title> <author>托克维尔</author> <year>1989</year> <price>60.00</price> </book> </bookstore>
I tabellen nedan listas några XPath-uttryck samt resultaten av dessa uttryck:
XPath-uttryck | Resultat |
---|---|
/bookstore/book[1] | Välj det första book-elementet som är under bookstore-elementet. |
/bookstore/book[last()] | Välj det sista book-elementet som är under bookstore-elementet. |
/bookstore/book[last()-1] | Välj det andra sista book-elementet som är under bookstore-elementet. |
/bookstore/book[position()<3] | Välj de två första book-elementen som är under bookstore-elementet. |
//title[@lang] | Välj alla title-element som har en egenskap med namnet "lang". |
//title[@lang='en'] | Välj alla title-element som har en "lang"-egenskap med värdet "en". |
/bookstore/book[price>35.00] | Välj alla book-element inom bookstore-elementet där price-elementets värde är större än 35.00. |
/bookstore/book[price>35.00]/title | Välj alla title-element inom book-elementet i bookstore-elementet där price-elementets värde är större än 35.00. |
XPath-handbok
Du kommer att lära dig om i vår XPath-handbok XPath mer kunskap.