Tutoriel XML

ACCUEIL XML Introduction XML XML Comment utiliser Arbre XML Syntaxe XML Éléments XML Attributs XML Espaces de noms XML Affichage XML Requête HTTP XML Analyseur XML DOM XML XPath XML XML XSLT XQuery XML XMLXLink Validateur XML DTD XML Schéma XML Serveur XML Exemples XML XML Quiz Certificat XML

XMLAJAX

Présentation d'AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

DOM XML

Présentation du DOM Nœuds DOM Accès au DOM Informations sur le nœud DOM Liste des nœuds DOM Traversée du DOM Navigation DOM DOM Obtenir des valeurs Nœuds de changement DOM DOM Supprimer les nœuds DOM Remplacer les nœuds DOM Créer des nœuds DOM Ajouter des nœuds Nœuds de clonage DOM Exemples DOM

Tutoriel XPath

Présentation de XPath Nœuds XPath Syntaxe XPath Axes XPath Opérateurs XPath Exemples XPath

Tutoriel XSLT

Présentation de XSLT Langages XSL Transformation XSLT XSLT <modèle> XSLT <valeur-de> XSLT <pour-chaque> XSLT <sort> XSLT <si> XSLT <choisir> Appliquer XSLT XSLT sur le client XSLT sur le serveur XSLT Éditer XML Exemples XSLT

Tutoriel XQuery

Présentation de XQuery Exemple XQuery XQuery FLWOR XQuery HTML Termes XQuery Syntaxe XQuery Ajouter XQuery Sélection XQuery Fonctions XQuery

DTD XML

Présentation de la DTD Blocs de construction DTD Éléments DTD Attributs DTD Éléments DTD vs Attr Entités DTD Exemples de DTD

Schéma XSD

Présentation XSD Comment XSD XSD <schéma> Éléments XSD Attributs XSD Restrictions XSD

Complexe XSD

Éléments XSD XSD vide Éléments XSD uniquement Texte XSD uniquement XSD Mixte Indicateurs XSD XSD <tout> XSD <anyAttribute> Remplacement XSD Exemple XSD

Données XSD

Chaîne XSD Date XSD Numérique XSD Divers XSD Référence XSD

Services Web

Services XML XMLWSDL SAVON XML XML RDF XML RSS

Les références

Types de nœuds DOM Nœud DOM Liste de nœuds DOM DOM NamedNodeMap Documents DOM Élément DOM Attribut DOM Texte DOM DOM CDATA DOM Comment DOM XMLHttpRequest Analyseur DOM Éléments XSLT Fonctions XSLT/XPath

Exemples XPath


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


L'exemple de document XML

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

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

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



Chargement du document XML

L'utilisation d'un objet XMLHttpRequest pour charger des documents XML est prise en charge dans tous les navigateurs modernes.

var xmlhttp = new XMLHttpRequest();

Le code pour les anciens navigateurs (IE5 et IE6) peut être trouvé dans le tutoriel AJAX.


Sélection de nœuds

Malheureusement, il existe différentes manières de gérer XPath dans différents navigateurs.

Chrome, Firefox, Edge, Opera et Safari utilisent la méthode évalue() pour sélectionner des nœuds :

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

Internet Explorer utilise la méthode selectNodes() pour sélectionner le nœud :

xmlDoc.selectNodes(xpath);

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


Sélectionnez tous les titres

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

Exemple

/bookstore/book/title

Sélectionnez le titre du premier livre

L'exemple suivant sélectionne le titre du premier nœud de livre sous l'élément bookstore :

Exemple

/bookstore/book[1]/title

Sélectionnez tous les prix

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

Exemple

/bookstore/book/price[text()]

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

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