Aller au contenu principal

Testeur XPath

Collez un document XML et une expression XPath, exécutez la recherche puis examinez les nœuds ou valeurs correspondant à votre requête.

  • Presse-papiers
  • Export

Intégrer ce widget

Personnalisez le rendu, vérifiez l’aperçu puis copiez le code.

Aperçu

Type de code d’intégration

Code à copier

Responsive et redimensionné automatiquement par Bethemesh.

Expression

Cet outil vous a-t-il été utile ?

Comment fonctionne cet outil ?

Évaluez une expression XPath sur un document XML et lisez les valeurs sélectionnées, un décompte ou une condition. Le testeur utilise le moteur XPath 1.0 du navigateur et conserve les deux entrées sur votre appareil. Il convient à l’exploration d’un petit export XML et à la préparation d’un sélecteur. Son résultat est textuel : sélectionner des éléments renvoie leur contenu, pas leur balisage complet. Une recherche correcte ici doit encore être adaptée au contexte de l’application qui l’utilisera.

Le document doit être du XML bien formé. Les déclarations DOCTYPE sont refusées par l’analyse commune. L’expression est évaluée depuis le document complet : /root/item part de la racine, tandis que //item recherche des descendants dans le document. Les indices XPath commencent à 1 : /root/item[1] choisit le premier item, contrairement à un indice de tableau JSON qui commence à 0. Les prédicats comme [@id='a'] filtrent les éléments selon leurs attributs.

Une sélection de nœuds produit une valeur textContent par nœud, séparée par un retour à la ligne. Les éléments imbriqués contribuent à ce texte : les balises elles-mêmes n’apparaissent pas. Un résultat scalaire est présenté directement, par exemple count(...) comme nombre, string(...) comme texte et boolean(...) comme true ou false. Une sélection sans nœud donne un texte vide ; elle n’indique pas nécessairement une erreur de syntaxe.

Aucun résolveur de préfixes d’espace de noms n’est configuré dans ce testeur. Les préfixes d’une expression ne sont donc pas automatiquement reliés à ceux du document. Avec une racine dans un espace de noms par défaut, un nom non préfixé peut ne rien sélectionner. Utilisez des prédicats local-name() et namespace-uri() explicites lorsque nécessaire. XPath 2.0 et 3.1, leurs fonctions et leurs types avancés ne sont pas pris en charge.

Comment utiliser cet outil ?

  1. Fournir XML et expression

    Collez le document complet puis saisissez une expression XPath 1.0. Les deux champs participent au résultat ; changer l’un impose une nouvelle évaluation.

  2. Évaluer et interpréter

    Lancez le test et vérifiez le type de résultat attendu. Une liste de nœuds devient du texte sans ses balises ; une fonction peut produire un nombre ou un booléen.

  3. Exporter les valeurs

    Copiez ou téléchargez le texte après contrôle des espaces et retours à la ligne. Pour conserver les éléments XML, employez une extraction qui sérialise explicitement les nœuds.

Cas d'utilisation

Inspecter un export XML

Sélectionnez les valeurs d’un élément répété avant de préparer un import. Les retours à la ligne de la sortie ne constituent pas un CSV structuré.

Compter une collection

Utilisez count(/root/item) pour obtenir un nombre plutôt qu’une liste de textes. Distinguez zéro élément d’une expression qui retourne une chaîne vide.

Vérifier un prédicat

Testez un filtre sur un attribut avec quelques éléments connus. Incluez un cas qui correspond et un cas qui ne doit pas être retenu.

Exemples

Sélectionner le deuxième élément

Les positions XPath commencent à 1 : le prédicat [2] retient B. La sortie contient uniquement le texte de cet élément, pas sa balise item.

Entrée

<root><item>A</item><item>B</item></root>
/root/item[2]

Résultat

B

Compter les éléments

count retourne le nombre 2, indépendamment de la longueur du texte. Dans l’interface, ce résultat scalaire est affiché sous forme de texte.

Entrée

<root><item>A</item><item>B</item></root>
count(/root/item)

Résultat

2

Conseils et bonnes pratiques

  • Évitez // si un chemin absolu plus précis suffit : une recherche globale peut sélectionner des éléments de même nom dans plusieurs sections.
  • Avec des espaces de noms, associez local-name() à namespace-uri() pour ne pas confondre des éléments homonymes de vocabulaires différents.
  • Pour un attribut, essayez /root/item/@id : vous obtiendrez sa valeur textuelle, et non le texte enfant de l’élément item.

Sources et références

Questions fréquentes

Pourquoi /root/item ne trouve-t-il rien ?

Vérifiez la structure, la casse et les espaces de noms. Un espace de noms par défaut change le nom développé des éléments même sans préfixe visible.

Puis-je utiliser XPath 3.1 ?

Non. Le moteur utilisé est celui du navigateur pour XPath 1.0. Les fonctions ou séquences apparues dans les versions ultérieures peuvent provoquer un refus.

Pourquoi les balises disparaissent-elles du résultat ?

Le testeur extrait textContent pour chaque nœud sélectionné. Il ne sérialise pas les éléments comme XML et ne garantit pas une conversion réversible.

Comment distinguer faux et aucun nœud ?

boolean(...) affiche false, tandis qu’une sélection sans nœud produit une sortie vide. Choisissez une fonction scalaire si cette distinction est importante pour votre contrôle.

Outils associés

Des outils similaires ou complémentaires à celui-ci.

Outils similaires

Formatez, minifiez et validez un document XML directement dans votre navigateur.

DéveloppementUtiliser l’outil

Interrogez des données JSON avec une expression JSONPath simple.

DéveloppementUtiliser l’outil