Aller au contenu

Évaluateur XPath

Exécutez une expression XPath 1.0 sur du XML collé et voyez chaque résultat, sa valeur et son chemin.

Entrée
Sortie

Évaluateur XPath

Collez un document XML, écrivez une expression XPath 1.0 et cet outil énumère chaque nœud correspondant — sans devoir écrire un script ou ouvrir un débogueur. Utile lorsqu'une feuille de style XSLT, une règle de scraping ou un chemin XQuery ne retourne pas ce qu'on attend, et qu'on doit tester l'expression isolément sur le document réel.

L'option Type de résultat contrôle la lecture : « Ensemble de nœuds » énumère éléments, attributs, nœuds texte ou commentaires ; « Chaîne », « Nombre » et « Booléen » convertissent l'expression comme les fonctions XPath string(), number() et boolean(), utile pour vérifier comparaisons ou appels count(). Pour les résultats d'ensemble de nœuds, « Afficher les résultats comme » alterne entre contenu textuel et XML sérialisé, avec options pour numéroter les résultats ou afficher le chemin résolu (comme /catalog/book[2]/title).

La syntaxe couvre dix axes standard (child, descendant, descendant-or-self pour //, parent, ancestor, self, following-sibling, preceding-sibling, attribute pour @), caractères génériques, prédicats positionnels et booléens, opérateur union, et fonctions courantes — position(), last(), count(), name(), contains(), starts-with(), substring(), concat(), normalize-space(). Variables, document(), key() et axe namespace non supportés. Espaces de noms : liez le préfixe à son URI dans « Liaisons d'espace de noms », ou activez « Ignorer les espaces de noms » pour correspondance par nom local.

Exécution locale dans votre navigateur : XML et expression ne sont jamais téléchargés, test sûr contre réponses API réelles, exports de configuration ou extraits de journaux production. XML invalide et expressions invalides signalent ce qui a échoué et pourquoi.

FAQ

Quelles parties de XPath 1.0 sont supportées ?
Les dix axes standard, les tests de nom et de type de nœud (y compris les caractères génériques et text()/comment()/node()), les prédicats positionnels et booléens, l'opérateur union (|), les opérateurs arithmétiques et de comparaison, et les fonctions courantes comme position(), last(), count(), name(), string(), contains(), starts-with(), substring(), concat(), normalize-space() et sum(). Les variables ($x), document(), key() et l'axe namespace ne sont pas supportés.
Pourquoi mon expression ne correspond à rien dans un document avec espacess de noms ?
Un test de nom sans préfixe ne correspond qu'aux éléments sans espace de noms — c'est la même règle que suivent les vrais processeurs XPath. Liez le préfixe que votre expression utilise à l'URI d'espace de noms du document dans « Liaisons d'espace de noms » (une paire préfixe=URI par ligne), ou activez « Ignorer les espaces de noms » pour ne faire correspondre que par nom local.
Quelle est la différence entre les quatre types de résultats ?
« Ensemble de nœuds » énumère les nœuds correspondants eux-mêmes. « Chaîne », « Nombre » et « Booléen » convertissent à la place l'expression complète de la même manière que les fonctions string(), number() et boolean() de XPath — utile pour vérifier directement une expression count() ou une comparaison sans l'envelopper dans un prédicat.
Que se passe-t-il avec un XML invalide ou une expression invalide ?
L'outil signale lequel a échoué et pourquoi — une balise non fermée ou un élément non-corresondant pour XML, un jeton inattendu ou un préfixe d'espace de noms non lié pour l'expression — au lieu de retourner un résultat vide ou trompeur.
Mon document XML est-il téléchargé quelque part ?
Non. L'analyse et l'évaluation s'exécutent entièrement dans votre navigateur — le document et l'expression ne quittent jamais votre appareil.