XPath voorbeelde
Kom ons probeer 'n paar basiese XPath-sintaksis leer deur na 'n paar voorbeelde te kyk.
Die XML-voorbeelddokument
Ons sal die volgende XML-dokument in die voorbeelde hieronder gebruik.
"books.xml":
<?xml version="1.0" encoding="UTF-8"?>
<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>
Kyk na die "books.xml"-lêer in jou blaaier .
Laai die XML-dokument
Die gebruik van 'n XMLHttpRequest-objek om XML-dokumente te laai, word in alle moderne blaaiers ondersteun.
var xmlhttp = new XMLHttpRequest();
Kode vir ouer blaaiers (IE5 en IE6) kan in die AJAX-tutoriaal gevind word.
Kies nodusse
Ongelukkig is daar verskillende maniere om XPath in verskillende blaaiers te hanteer.
Chrome, Firefox, Edge, Opera en Safari gebruik die evaluate() metode om nodusse te kies:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
Internet Explorer gebruik die selectNodes() metode om node te kies:
xmlDoc.selectNodes(xpath);
In ons voorbeelde het ons kode ingesluit wat met die meeste groot blaaiers behoort te werk.
Kies al die titels
Die volgende voorbeeld kies al die titelnodusse:
Voorbeeld
/bookstore/book/title
Kies die titel van die eerste boek
Die volgende voorbeeld kies die titel van die eerste boeknodus onder die boekwinkelelement:
Voorbeeld
/bookstore/book[1]/title
Kies al die pryse
Die volgende voorbeeld kies die teks uit al die prysnodusse:
Voorbeeld
/bookstore/book/price[text()]
Kies prysnodusse met prys>35
Die volgende voorbeeld kies al die prysnodusse met 'n prys hoër as 35:
Voorbeeld
/bookstore/book[price>35]/price
Kies titelnodusse met prys>35
Die volgende voorbeeld kies al die titelnodusse met 'n prys hoër as 35:
Voorbeeld
/bookstore/book[price>35]/title