Latest web development tutorials

XPath Exemples

Dans cette section, nous apprenons par exemple à une syntaxe XPath de base.


documents d'instance XML

Nous allons utiliser ce document XML dans l'exemple suivant:

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

Voir "books.xml" fichier dans votre navigateur .


Charger un document XML

Tous les navigateurs modernes prennent en charge l'utilisation de XMLHttpRequest pour charger des documents XML.

Pour la plupart des codes de navigateurs modernes:

var xmlhttp=new XMLHttpRequest()

Pour l'ancien navigateur Microsoft (IE 5 et 6) du Code:

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


Sélectionnez noeud

Malheureusement, Internet Explorer et d'autres de façon différente de la manipulation XPath.

Dans notre exemple, il contenait pour la plupart des grands navigateurs code.

Internet Explorer utilise selectNodes () méthode à partir du document XML pour sélectionner les nœuds:

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électionner tous les titres

Les exemples suivants sélectionner tous les nœuds de titre:

Exemples

/bookstore/book/title

Essayez »


Sélectionnez le premier titre d'un livre

Les exemples suivants sélectionner l'élément de la librairie en dessous du premier titre de noeud du livre:

Exemples

/bookstore/book[1]/title

Essayez »

Il y a un problème. Les exemples ci-dessus des résultats différents dans IE et d'autres navigateurs.

IE5 et plus tard le [0] considéré comme le premier noeud, et selon les normes du W3C devrait être [1].

Une solution!

Afin de résoudre le IE5 + [0] et [1] du problème, vous pouvez définir la sélection de la langue pour le XPath (SelectionLanguage).

Les exemples suivants sélectionner l'élément de la librairie en dessous du premier titre de noeud du livre:

Exemples

xml.setProperty("SelectionLanguage","XPath");
xml.selectNodes("/bookstore/book[1]/title");

Essayez »


Sélectionnez tous les prix

Les exemples suivants tout sélectionner le prix de nœud de texte:

Exemples

/bookstore/book/price/text()

Essayez »


Sélectionnez le prix est plus élevé que le nœud de prix 35

Les exemples suivants tout sélectionner prix supérieur au prix de 35 nœuds:

Exemples

/bookstore/book[price>35]/price

Essayez »


Sélectionnez le prix de noeud est supérieur à 35 titre

Les exemples suivants sélectionner tous les prix nœuds de titre supérieur à 35:

Exemples

/bookstore/book[price>35]/title

Essayez »