XML et XPath

Qu'est-ce que XPath ?

XPath C'est un élément principal de la norme XSLT.

XPath peut être utilisé pour localiser (naviguer) des éléments et des attributs dans un document XML.

XPath

XPath
  • XPath est utilisé pour définir la syntaxe des différentes parties d'un document XML
  • XPath utilise des expressions de chemin pour naviguer dans un document XML
  • XPath contient une bibliothèque de fonctions standard
  • XPath est un élément principal dans XSLT et XQuery
  • XPath est une norme recommandée par le W3C

Expressions de chemin XPath

XPath utilise des expressions de chemin pour sélectionner des nœuds ou des ensembles de nœuds dans un document XML. Ces expressions de chemin ressemblent beaucoup à celles que vous voyez lorsque vous utilisez un système de fichiers informatique traditionnel.

Les expressions XPath peuvent être utilisées dans JavaScript, Java, XML Schema, PHP, Python, C et C++ ainsi que dans de nombreux autres langages.

XPath est utilisé dans XSLT

XPath est un élément principal de la norme XSLT.

En comprenant XPath, vous pourrez utiliser pleinement XSL.

Exemple XPath

Nous allons utiliser le document XML suivant :

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="美食">
  <title lang="zh">雅舍谈吃</title>
  <author>梁实秋</author>
  <year>2013</year>
  <price>35</price>
</book>
<book category="儿童">
  <title lang="zh">了不起的狐狸爸爸</title>
  <author>罗尔德·达尔</author>
  <year>2009</year>
  <price>10.00</price>
</book>
<book category="文学">
  <title lang="zh">将熟悉变为陌生</title>
  <author>齐格蒙·鲍曼</author>
  <author>彼得·哈夫纳</author>
  <author>Kurt Cagle</author>
  <author>James Linn</author>
  <author>Vaidyanathan Nagarajan</author>
  <year>2003</year>
  <price>49.99</price>
</book>
<book category="政治">
  <title lang="zh">论美国的民主</title>
  <author>托克维尔</author>
  <year>1989</year>
  <price>60.00</price>
</book>
</bookstore>

Dans le tableau suivant, nous listons quelques expressions XPath et leurs résultats :

Expression XPath Résultat
/bookstore/book[1] Sélectionnez le premier élément book qui est un élément enfant de l'élément bookstore.
/bookstore/book[last()] Sélectionnez le dernier élément book qui est un élément enfant de l'élément bookstore.
/bookstore/book[last()-1] Sélectionnez le deuxième dernier élément book qui est un élément enfant de l'élément bookstore.
/bookstore/book[position()<3] Sélectionnez les deux premiers éléments book qui sont des éléments enfants de l'élément bookstore.
//title[@lang] Sélectionnez tous les éléments title possédant un attribut nommé "lang".
//title[@lang='en'] Sélectionnez tous les éléments title possédant l'attribut "lang" avec une valeur "en".
/bookstore/book[price>35.00] Sélectionnez tous les éléments book situés dans l'élément bookstore où la valeur de l'élément price est supérieure à 35.00.
/bookstore/book[price>35.00]/title Sélectionnez tous les éléments title qui ont une valeur de l'élément price supérieure à 35.00 dans les éléments book de l'élément bookstore.

Tutoriel XPath

Vous apprendrez sur notre tutoriel XPath XPath de plus amples connaissances.