XPath

De Linuxmemo.

(Différences entre les versions)
Ligne 6 : Ligne 6 :
Tuto: http://www.csharpfr.com/tutoriaux/XPATH-LANGUAGE_536.aspx
Tuto: http://www.csharpfr.com/tutoriaux/XPATH-LANGUAGE_536.aspx
 +
==Contexte des expressions XPath==
-
Voici une table de relation que l'on peut établir si on part du principe que le noeud courant est H. Les valeurs peuvent être directement utilisée dans la requête XPath.
+
*Contexte actuel
 +
Une expression précédée d'un point et d'une barre oblique (./) utilise explicitement comme contexte le contexte actuel. Par exemple, l'expression suivante fait référence à tous les éléments <author> dans le contexte actuel :
 +
./author
 +
Notez que cette expression est équivalente à la suivante :
 +
author
-
<table border="1" cellspacing="0" cellpadding="0" align="center" width="274">
+
*Racine du document
-
<tr>
+
Une expression précédée d'une barre oblique (/) utilise comme contexte la racine de l'arborescence du document. Par exemple, l'expression suivante fait référence à l'élément <bookstore> à la racine de ce document :
-
<td width="161" valign="top"><b>Value</b></td>
+
/bookstore
-
<td width="113" valign="top"><b>Node</b></td>
+
 
-
</tr>
+
* Élément racine
-
<tr>
+
Une expression qui utilise une barre oblique suivie d'un astérisque (/*) utilise comme contexte l'élément racine. Par exemple, l'expression suivante trouve l'élément racine du document :
-
<td width="161" valign="top">self</td>
+
/*
-
<td width="113" valign="top">H</td>
+
 
-
</tr>
+
*Descendant récursif
-
<tr>
+
Une expression qui utilise une barre oblique double (//) indique une recherche qui inclut zéro, un ou plusieurs niveaux de hiérarchie. Lorsque cet opérateur apparaît au début du modèle, le contexte est relatif à la racine du document. Par exemple, l'expression suivante fait référence à tous les éléments <author> partout dans le document actuel :
-
<td width="161" valign="top">parent</td>
+
//author
-
<td width="113" valign="top">B</td>
+
Le préfixe .// indique que le contexte commence au niveau de la hiérarchie indiqué par le contexte actuel.
-
</tr>
+
 
-
<tr>
+
*Éléments spécifiques
-
<td width="161" valign="top">child</td>
+
Une expression qui commence par un nom d'élément fait référence à une requête de l'élément spécifique, à partir du nœud de contexte actuel. Par exemple, l'expression suivante fait référence à l'élément <background.jpg> à l'intérieur de l'élément <images> dans le nœud de contexte actuel :
-
<td width="113" valign="top">I</td>
+
images/background.jpg
-
</tr>
+
 
-
<tr>
+
L'expression suivante fait référence à l'ensemble d'éléments <book> à l'intérieur des éléments <bookstore> dans le nœud de contexte actuel :
-
<td width="161" valign="top">descendant</td>
+
bookstore/book
-
<td width="113" valign="top">I, J, K, L</td>
+
L'expression suivante fait référence à tous les éléments <first.name> dans le nœud de contexte actuel :
-
</tr>
+
first.name
-
<tr>
+
-
<td width="161" valign="top">descendant-or-self</td>
+
-
<td width="113" valign="top">H, I, J, K, L</td>
+
-
</tr>
+
-
<tr>
+
-
<td width="161" valign="top">ancestor</td>
+
-
<td width="113" valign="top">B, A</td>
+
-
</tr>
+
-
<tr>
+
-
<td width="161" valign="top">ancestor-or-self</td>
+
-
<td width="113" valign="top">H, B, A</td>
+
-
</tr>
+
-
<tr>
+
-
<td width="161" valign="top">preceding</td>
+
-
<td width="113" valign="top">E, D, C, F, G</td>
+
-
</tr>
+
-
<tr>
+
-
<td width="161" valign="top">preceding-sibling</td>
+
-
<td width="113" valign="top">C</td>
+
-
</tr>
+
-
<tr>
+
-
<td width="161" valign="top">following</td>
+
-
<td width="113" valign="top">M, N, O, P, Q, R, S, T, U, V, W, X</td>
+
-
</tr>
+
-
<tr>
+
-
<td width="161" valign="top">following-sibling</td>
+
-
<td width="113" valign="top">-</td>
+
-
</tr>
+
-
</table>
+

Version du 8 avril 2013 à 11:47

XPath est un langage pour adresser des parties de documents XML, conçu pour être utilisé à la fois par XSLT et XPointer.

refs: http://xmlfr.org/w3c/TR/xpath/ http://msdn.microsoft.com/fr-fr/library/ms256115%28v=vs.80%29.aspx

Tuto: http://www.csharpfr.com/tutoriaux/XPATH-LANGUAGE_536.aspx

Contexte des expressions XPath

  • Contexte actuel

Une expression précédée d'un point et d'une barre oblique (./) utilise explicitement comme contexte le contexte actuel. Par exemple, l'expression suivante fait référence à tous les éléments <author> dans le contexte actuel :

./author
Notez que cette expression est équivalente à la suivante :
author
  • Racine du document

Une expression précédée d'une barre oblique (/) utilise comme contexte la racine de l'arborescence du document. Par exemple, l'expression suivante fait référence à l'élément <bookstore> à la racine de ce document :

/bookstore
  • Élément racine

Une expression qui utilise une barre oblique suivie d'un astérisque (/*) utilise comme contexte l'élément racine. Par exemple, l'expression suivante trouve l'élément racine du document :

/*
  • Descendant récursif

Une expression qui utilise une barre oblique double (//) indique une recherche qui inclut zéro, un ou plusieurs niveaux de hiérarchie. Lorsque cet opérateur apparaît au début du modèle, le contexte est relatif à la racine du document. Par exemple, l'expression suivante fait référence à tous les éléments <author> partout dans le document actuel :

//author

Le préfixe .// indique que le contexte commence au niveau de la hiérarchie indiqué par le contexte actuel.

  • Éléments spécifiques

Une expression qui commence par un nom d'élément fait référence à une requête de l'élément spécifique, à partir du nœud de contexte actuel. Par exemple, l'expression suivante fait référence à l'élément <background.jpg> à l'intérieur de l'élément <images> dans le nœud de contexte actuel :

images/background.jpg

L'expression suivante fait référence à l'ensemble d'éléments <book> à l'intérieur des éléments <bookstore> dans le nœud de contexte actuel :

bookstore/book

L'expression suivante fait référence à tous les éléments <first.name> dans le nœud de contexte actuel :

first.name
Outils personnels