Exemples XPath
- Page précédente Opérateurs XPath
- Page suivante Résumé XPath
Dans cette section, nous allons apprendre quelques éléments de syntaxe XPath à travers des exemples.
Document d'exemple XML
Nous allons utiliser ce document XML dans les exemples suivants :
"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>
Charger un document XML
Tous les navigateurs modernes supportent la méthode XMLHttpRequest pour charger des documents XML.
Code pour la plupart des navigateurs modernes :
var xmlhttp=new XMLHttpRequest()
Code pour les navigateurs Microsoft anciens (IE 5 et 6) :
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
Sélectionner des nœuds
Malheureusement, Internet Explorer et d'autres traite XPath différemment.
Dans notre exemple, le code est applicable à la plupart des navigateurs populaires.
Internet Explorer utilise la méthode selectNodes() pour sélectionner des nœuds dans un document XML :
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera et Safari utilisent la méthode evaluate() pour sélectionner des nœuds dans un document XML :
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);
Sélectionner tous les nœuds title
Les exemples suivants sélectionnent tous les nœuds title :
/bookstore/book/title
Sélectionnez le titre du premier book
Les exemples suivants sélectionnent le titre du premier book sous l'élément bookstore :
/bookstore/book[1]/title
Il y a un problème ici. Les exemples ci-dessus produisent des résultats différents dans IE et d'autres navigateurs.
IE5 et versions supérieures considèrent [0] comme le premier nœud, tandis que selon la norme W3C, ce devrait être [1].
Pour résoudre les problèmes [0] et [1] dans IE5+, vous pouvez définir le choix de langue pour XPath (SelectionLanguage).
Les exemples suivants sélectionnent le titre du premier book sous l'élément bookstore :
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
Sélectionnez toutes les prix
Les exemples suivants sélectionnent tous les textes des nœuds price :
/bookstore/book/price/text()
Sélectionnez les nœuds price dont le prix est supérieur à 35
Les exemples suivants sélectionnent tous les nœuds price dont le prix est supérieur à 35 :
/bookstore/book[price>35]/price
Sélectionnez les nœuds title dont le prix est supérieur à 35
Les exemples suivants sélectionnent tous les nœuds title dont le prix est supérieur à 35 :
/bookstore/book[price>35]/title
- Page précédente Opérateurs XPath
- Page suivante Résumé XPath