XPath eksempler
- Forrige side XPath operatorer
- Næste side XSLT introduktion
I denne sektion lærer vi nogle grundlæggende XPath syntaks gennem eksempler.
XML eksempel dokument
Vi vil bruge denne XML-dokument i de følgende eksempler:
"books.xml" :
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
Indlæs XML-dokument
Alle moderne browsere understøtter metoden XMLHttpRequest til at indlæse XML-dokumenter.
Kode til de fleste moderne browsere:
var xmlhttp=new XMLHttpRequest()
Kode til gamle Microsoft-browsere (IE 5 og 6):
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
Vælg node
Desværre håndterer Internet Explorer og andre XPath-på forskellig vis.
I vores eksempel indeholder vi kode, der er kompatibel med de fleste主流浏览器的.
Internet Explorer bruger selectNodes() metoden til at vælge noder fra XML-dokumenter:
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera og Safari bruger evaluate() metoden til at vælge noder fra XML-dokumenter:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
Vælg title for den første book
Følgende eksempel vælger title-noden under den første book-nden i bookstore-elementet:
/bookstore/book[1]/title
Der er et problem her. De ovennævnte eksempler giver forskellige resultater i IE og andre browsere.
IE5 og nyere versioner ser [0] som den første node, mens W3C's standard er [1].
For at løse problemet med [0] og [1] i IE5+ kan du angive sprogvalg (SelectionLanguage) for XPath.
Følgende eksempel vælger title-noden under den første book-nden i bookstore-elementet:
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
Vælg alle priser
Følgende eksempel vælger alle tekster i price-noderne:
/bookstore/book/price/text()
Vælg price-noder med pris over 35
Følgende eksempel vælger alle price-noder med pris over 35:
/bookstore/book[price>35]/price
Vælg title-noder med pris over 35
Følgende eksempel vælger alle title-noder med pris over 35:
/bookstore/book[price>35]/title
- Forrige side XPath operatorer
- Næste side XSLT introduktion