Démarrer avec xpath

Téléchargez xpath eBook

Remarques

XPath est un langage permettant d'adresser des parties d'un document XML.

Il est utilisé dans XSLT et est un sous-ensemble de XQuery. Les bibliothèques sont également disponibles pour la plupart des autres langages de programmation.

XPath est une norme internationale avec des spécifications publiées par le W3C:

Versions

Version Date de sortie
1.0 1999-12-16
2.0 2007-01-23
3.0 2014-04-08
3.1 (Recommandation du candidat du W3C) 2015-12-17

Opérations HTML communes

Si l'entrée HTML DOM est

<html>
    <body>
        <a>link</a>
        <div class='container' id='divone'>
            <p class='common' id='enclosedone'>Element One</p>
            <p class='common' id='enclosedtwo'>Element Two</p>
        </div>
    </body>
</html>
 

Trouver un élément avec un identifiant spécifique dans la page entière

//*[@id='divone'] # Returns <div class='container' id='divone'>
 

Trouver un élément avec un identifiant spécifique dans un chemin particulier

/html/body/div/p[@id='enclosedone'] # Returns <p class='common' id='enclosedone'>Element One</p>
 

Sélectionnez un élément avec un identifiant et une classe particuliers

//p[@id='enclosedone' and @class='common'] # Returns <p class='common' id='enclosedone'>Element One</p>
 

Sélectionnez le texte d'un élément particulier

//*[@id='enclosedone']/text() # Returns Element One
 

Exemple de XML (sans espaces de noms)

Voici quelques exemples de XML avec lesquels XPath peut être écrit:

<r>
  <e a="1"/>
  <f a="2" b="1">Text 1</f>
  <f/>
  <g>
    <i c="2">Text 2</i>
    Text 3
    <j>Text 4</j>
  </g>
</r>
 

Sélectionnez un élément

Pour l'exemple XML (sans espaces de noms):

Ce XPath,

/r/e
 

sélectionnera cet élément:

<e a="1"/>
 

Sélectionnez le texte

Pour l'exemple XML (sans espaces de noms):

Ce XPath,

/r/f/text()
 

sélectionnera le noeud de texte avec cette valeur de chaîne:

"Text 1"
 

Et ce XPath,

string(/r/f)
 

renverra la valeur de chaîne de f , qui est aussi:

"Text 1"
 

Test de Xpaths dans la console du navigateur

Un moyen rapide de tester votre xpath se trouve dans la console de votre outil de développement de navigateur.

Le format est

   $x('//insert xpath here')
 

$ - spécifie qu'il s'agit d'un sélecteur.

x - spécifie qu'il utilise xpaths

Exemple:

$x("//button[text() ='Submit']")
 

Lorsque cette commande est entrée, elle renvoie toutes les occurrences des éléments qui sont des boutons avec un texte égal à Submit.

Stats

108 Contributors: 6
Thursday, June 1, 2017
Sous licence: CC-BY-SA

Non affilié à Stack Overflow
Rip Tutorial: info@zzzprojects.com

Télécharger le eBook