XPath- voorbeelden
Laten we proberen wat basis XPath-syntaxis te leren door naar enkele voorbeelden te kijken.
Het XML-voorbeelddocument
We zullen het volgende XML-document gebruiken in de onderstaande voorbeelden.
"boeken.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>
Bekijk het bestand "books.xml" in uw browser .
Het XML-document laden
Het gebruik van een XMLHttpRequest-object om XML-documenten te laden wordt ondersteund in alle moderne browsers.
var xmlhttp = new XMLHttpRequest();
Code voor oudere browsers (IE5 en IE6) is te vinden in de AJAX tutorial.
Knooppunten selecteren
Helaas zijn er verschillende manieren om met XPath om te gaan in verschillende browsers.
Chrome, Firefox, Edge, Opera en Safari gebruiken de methode evaluatie() om knooppunten te selecteren:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);
Internet Explorer gebruikt de methode selectNodes() om het knooppunt te selecteren:
xmlDoc.selectNodes(xpath);
In onze voorbeelden hebben we code opgenomen die zou moeten werken met de meeste grote browsers.
Selecteer alle titels
In het volgende voorbeeld worden alle titelknooppunten geselecteerd:
Voorbeeld
/bookstore/book/title
Selecteer de titel van het eerste boek
In het volgende voorbeeld wordt de titel van het eerste boekknooppunt onder het boekwinkelelement geselecteerd:
Voorbeeld
/bookstore/book[1]/title
Selecteer alle prijzen
In het volgende voorbeeld wordt de tekst van alle prijsknooppunten geselecteerd:
Voorbeeld
/bookstore/book/price[text()]
Selecteer prijsknooppunten met prijs>35
In het volgende voorbeeld worden alle prijsknooppunten geselecteerd met een prijs hoger dan 35:
Voorbeeld
/bookstore/book[price>35]/price
Selecteer titelknooppunten met prijs>35
In het volgende voorbeeld worden alle titelknooppunten geselecteerd met een prijs hoger dan 35:
Voorbeeld
/bookstore/book[price>35]/title