Testeur XPath
XPath Tester
Évalue une expression XPath ou un sélecteur CSS sur du XML ou du HTML et liste tous les nœuds trouvés.
Exécute une expression XPath 1.0 ou un sélecteur CSS sur un document XML ou HTML et montre chaque nœud correspondant, avec le chemin absolu de chacun. L'évaluation est celle du navigateur : ce que vous voyez ici est ce que `document.evaluate` fera dans votre code.
Expression XPath 1.0
Document
Déposez un fichier
Lu uniquement dans cet onglet.
Résultats
Les résultats apparaissent ici au fur et à mesure que vous tapez.
Comment cela tourne
- · L’évaluation passe par le
document.evaluate(XPath 1.0) et lequerySelectorAlldu navigateur lui-même. Le typage du résultat — ensemble de nœuds, nombre, chaîne, booléen —, le chemin absolu de chaque nœud et la gestion des préfixes d’espace de noms viennent de cet outil. - · Le mode XML lit strictement et signale ce qui ne va pas ; le mode HTML lit avec souplesse, comme le fait un navigateur. HTML normalise les noms de balises en minuscules, donc
//DIVne passe pas, alors que//divpasse. - · Dans un document avec un espace de noms par défaut (
xmlns="…"), un nom sans préfixe ne correspond à rien : c’est la règle de XPath 1.0. Utilisez le préfixe_comme dans//_:item. - · Les fonctions de XPath 2.0 et 3.x (
matches,ends-with,lower-case) n’existent dans aucun navigateur.contains·starts-with·translate·normalize-spacesont ce que donne la 1.0. - · Le document est lu uniquement dans cet onglet et n’est envoyé nulle part.
Pour du JSON, le testeur JSONPath ou le playground jq est l’outil qu’il faut.
Comment s’en servir
Choisissez comment le document est lu
Le mode XML est strict et signale ce qui est mal formé. Le mode HTML est permissif comme l'est un navigateur, et normalise les noms de balises en minuscules.
Écrivez l'expression
XPath ou un sélecteur CSS — l'interrupteur choisit lequel. Les boutons d'exemples couvrent les attributs, les prédicats, les espaces de noms, les nœuds de commentaire et les fonctions qui renvoient un scalaire.
Lisez d'abord le type du résultat
XPath renvoie quatre sortes de choses, et une seule est un ensemble de nœuds. `count()`, `string()` et `boolean()` vous donnent une valeur unique, affichée seule plutôt que comme une liste de correspondances vide.
Questions fréquentes
Mon expression ne correspond à rien et le document a l'air correct.
C'est presque sûrement un espace de noms par défaut. Si le document porte `xmlns="…"` sur sa racine, XPath 1.0 dit qu'un nom sans préfixe ne correspond à rien du tout — il faut lier un préfixe. Ici ce préfixe est `_`, donc `//item` devient `//_:item`.
Pourquoi `matches()` n'existe-t-il pas ?
Parce que les navigateurs n'implémentent que XPath 1.0. `matches`, `ends-with`, `lower-case` et les autres sont arrivés en 2.0, qu'aucun navigateur n'a. La boîte à outils de la 1.0, c'est `contains`, `starts-with`, `translate` et `normalize-space`.
XPath ou CSS — lequel utiliser ?
CSS est plus court et suffit pour la plupart du scraping. XPath sait remonter (`..`, `ancestor::`), s'appuyer sur le contenu textuel, et renvoyer des nombres et des chaînes, ce qu'aucun sélecteur ne sait faire. Cette page exécute les deux pour que vous puissiez les comparer sur le même document.
Va-t-il chercher une page pour moi ?
Non. Vous collez ou déposez le document et il est lu dans cet onglet. Aller le chercher demanderait un proxy — le navigateur n'autorise pas une page à lire une autre origine — et ce proxy verrait tout ce que vous testez.
À alimenter depuis
Formateur et validateur XML
XML Formatter & Validator
Indente le XML et indique la ligne et la colonne du premier défaut de bonne formation.
Conversion JSON ⇄ XML
JSON ⇄ XML
Convertit entre JSON et XML, avec un traitement réglable des attributs, des tableaux et des nœuds texte.
Testeur JSONPath
JSONPath Tester
Exécute une expression JSONPath sur un document et met en évidence les nœuds trouvés au fil de la saisie.
Formateur et validateur JSON
JSON Formatter & Validator
Met en forme, minifie et valide du JSON en désignant la ligne et la colonne exactes de l’erreur de syntaxe.
Ensuite
Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.
Formater ou minifier du HTML
HTML Beautifier & Minifier
Met en forme ou minifie du HTML en préservant les éléments en ligne, avec réduction facultative des espaces.
Testeur JSONPath
JSONPath Tester
Exécute une expression JSONPath sur un document et met en évidence les nœuds trouvés au fil de la saisie.
Conversion JSON ⇄ XML
JSON ⇄ XML
Convertit entre JSON et XML, avec un traitement réglable des attributs, des tableaux et des nœuds texte.
Formateur et validateur XML
XML Formatter & Validator
Indente le XML et indique la ligne et la colonne du premier défaut de bonne formation.
Encodeur et décodeur Base64
Base64 Encoder & Decoder
Encode et décode en Base64 et en Base64URL, pour du texte comme pour des fichiers, avec un traitement correct de l’UTF-8.
curl vers code
curl to Code
Traduit une commande curl en fetch, axios, requests Python, Go, PHP ou PowerShell.