Forum | Derniers tutoriels de développement web
 

XPath Exemples


Essayons d'apprendre une syntaxe XPath base en regardant quelques exemples.


L'exemple de document XML

Nous allons utiliser le document XML suivant dans les exemples ci-dessous.

"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>

Voir le "books.xml" fichier dans votre navigateur .


Chargement du document XML

Utilisation de XMLHttpRequest pour charger des documents XML est pris en charge dans tous les navigateurs modernes.

Code pour la plupart des navigateurs modernes:

var xmlhttp=new XMLHttpRequest()

Code pour les anciens navigateurs Microsoft (IE 5 et 6):

var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")

Sélection de nœuds

Malheureusement, il existe différentes façons de traiter avec XPath dans Internet Explorer et d'autres navigateurs.

Dans nos exemples, nous avons inclus le code qui devrait fonctionner avec la plupart des navigateurs.

Internet Explorer utilise les selectNodes () méthode pour sélectionner des noeuds du document XML:

xmlDoc.selectNodes(xpath);

Firefox, Chrome, Opera et Safari utilisent la méthode d'évaluer () pour sélectionner les nœuds du document XML:

xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE,null);

Sélectionnez tous les titres

L'exemple suivant sélectionne tous les nœuds de titre:

Exemple

/bookstore/book/title
Essayez - le vous - même »

Sélectionnez le titre du premier livre

L'exemple suivant sélectionne le titre du premier noeud de livre sous l'élément de librairie:

Exemple

/bookstore/book[1]/title
Essayez - le vous - même »

Sélectionnez tous les prix

L'exemple suivant sélectionne le texte de tous les nœuds de prix:

Exemple

/bookstore/book/price[text()]
Essayez - le vous - même »

Sélectionnez les nœuds de prix avec le prix> 35

L'exemple suivant sélectionne tous les nœuds de prix avec un prix supérieur à 35:

Exemple

/bookstore/book[price>35]/price
Essayez - le vous - même »

Sélectionnez les nœuds de titre avec le prix> 35

L'exemple suivant sélectionne tous les nœuds de titre avec un prix supérieur à 35:

Exemple

/bookstore/book[price>35]/title
Essayez - le vous - même »