# XPath

Cette section décrit les expressions XPath que vous pouvez utiliser avec Talend Cloud API Tester.

Pour plus d'informations sur la [syntaxe XPath](https://www.w3schools.com/xml/xpath_syntax.asp) (en anglais), consultez les [spécifications W3C officielles](https://www.w3.org/TR/xpath/) (en anglais). Vous pouvez également trouver un évaluateur en ligne XPath à l'adresse suivante : [Free Formatter website](https://www.freeformatter.com/xpath-tester.html) (en anglais). Notez que les expressions XPath ont une syntaxe similaire à celle d'un chemin d'accès à un répertoire.

Voici quelques astuces pour vous aider à utiliser les payloads XML :

* Un simple / sélectionne à partir du nœud racine.
* /list identifie l'objet "list" au plus haut niveau du document XML. Puis vous pouvez parcourir les attributs et les sous-attributs. Le langage supporte nativement les tableaux.
* La barre oblique / vous permet d'obtenir les attributs d'un objet ou d'aller plus loin dans l'arborescence.
* Les crochets [] vous permettent de sélectionner un élément spécifique dans un tableau selon sa position. Veuillez noter que l'index commence à 1.
* /text() vous permet d'obtenir un nœud à l'intérieur d'un texte.
* // sélectionne des nœuds dans le document à partir du nœud courant correspondant à la sélection, peu importe où ils se situent.

## Échantillon d'expressions XPath

```
  <?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>
```

Voici quelques échantillons d'expressions et leurs résultats.

| Expression | Valeur |
| --- | --- |
| / | Le nœud du document entier |
| /bookstore | Le nœud bookstore |
| /bookstore/book/title | Un tableau de tous les nœuds title de tous les nœuds de "book" sous l'élément "bookstore" |
| //title | Un tableau de tous les nœuds title peu importe leur position |
| //title/@lang | Un tableau de tous les attributs lang des nœuds title |
| /bookstore/book/title/text() | Un tableau de toutes les valeurs de texte des nœuds title de tous les nœuds de "book" sous l'élément "bookstore" |
| /bookstore/book[price&gt;35]/title | Les nœuds title de tous les nœuds book dont le prix est supérieur à 35. |
| //book[last()]/title | Le nœud title du dernier nœud book. |
| //book[position() &lt; 3] | Les deux premiers nœuds book |
| //title[@lang]] | Un tableau de tous les nœuds title avec un attribut lang |
| name(//\*[1]) | Le nom du premier élément du document (par exemple : bookstore) |
| count(//title) | Le nombre de tous les nœuds title (par exemple 4) |

### Dans cette section

* [Problème d'espace de noms XML](https://help.qlik.com/talend/fr-FR/api-tester-user-guide/Cloud/xml-namespace-support)