Analyseur XML

Formatez, validez et interrogez des documents XML instantanément. Propulsé par des API natives du navigateur pour une vitesse et une confidentialité maximales.

Formater et minifier Requêtes XPath Validation

Comment utiliser l'analyseur XML

1

Collez votre XML

Copiez et collez votre contenu XML dans le champ de saisie, ou cliquez sur Charger un exemple XML.

2

Formatez et validez

Utilisez Formater pour embellir, Minifier pour compresser, ou Valider pour vérifier les erreurs.

3

Interrogez avec XPath

Entrez une expression XPath et cliquez sur Exécuter XPath pour extraire des nœuds spécifiques.

Qu'est-ce que XML ?

XML (eXtensible Markup Language) est un langage de balisage qui définit un ensemble de règles pour encoder des documents dans un format à la fois lisible par l'homme et par la machine. Il est largement utilisé pour les fichiers de configuration, l'échange de données (SOAP, RSS, Atom) et le stockage de documents.

Caractéristiques principales de XML

Auto-descriptif

XML utilise des balises personnalisées pour décrire la structure des données, ce qui facilite la compréhension du contenu et de la hiérarchie au premier coup d'œil.

Indépendant de la plateforme

En tant que texte brut, XML fonctionne sur toutes les plateformes, langages de programmation et systèmes sans problèmes de compatibilité.

Extensible

Vous pouvez définir vos propres balises et structure de document à l'aide de DTD ou XML Schema pour adapter n'importe quel modèle de données.

Questions fréquentes

Quelle est la différence entre un XML bien formé et un XML valide ?

Un XML bien formé suit les règles syntaxiques de base du XML (imbrication correcte, balises fermantes, élément racine unique). Un XML valide est bien formé ET conforme à un schéma (DTD, XSD) qui définit la structure et les types de données autorisés.

Cet outil valide-t-il par rapport à un schéma XSD ?

Non, cet outil vérifie uniquement la bonne formation (correction syntaxique). La validation basée sur un schéma par rapport à une DTD ou un XSD n'est pas prise en charge nativement dans le navigateur.

Quelle version d'XPath est prise en charge ?

La fonction native document.evaluate() du navigateur prend en charge XPath 1.0. Cela couvre la plupart des requêtes courantes, y compris les axes, les prédicats et les fonctions comme contains(), text() et @attribute.

Que sont les espaces de noms XML et comment sont-ils lus ?

Un espace de noms associe des noms d'éléments à une URI via des attributs xmlns - par exemple un élément atom:feed déclarant xmlns:atom="http://www.w3.org/2005/Atom". Le préfixe est arbitraire ; seule l'URI identifie l'espace de noms, de sorte que deux documents peuvent utiliser des préfixes différents pour un même vocabulaire. C'est à cause des espaces de noms que la correspondance XPath nécessite souvent des astuces avec local-name() lorsque les préfixes diffèrent.

Comment XPath sélectionne-t-il les nœuds ?

Les expressions XPath 1.0 parcourent l'arborescence : /rss/channel/item sélectionne par chemin, //item trouve des éléments n'importe où dans le document, item[@type='news'] filtre sur un attribut, et des prédicats comme item[1] ou item[last()] ciblent des nœuds précis. C'est le langage de requête qui se cache derrière XSLT, de nombreux frameworks de test et l'évaluateur de cet outil.

Qu'est-ce que le XXE et pourrait-il affecter cet outil ?

L'injection XXE (XML External Entity) exploite une entité DTD pointant vers un chemin de fichier ou une URL, poussant un analyseur côté serveur à la récupérer - avec des fuites historiques de /etc/passwd ou de services internes. Les analyseurs XML des navigateurs ne résolvent pas les entités externes, et cet outil s'exécute entièrement dans votre navigateur sans aller-retour serveur, de sorte que le XML collé ne peut déclencher ni lecture de fichiers ni SSRF.

Quelle est la différence entre l'analyse DOM et l'analyse SAX ?

DOM charge tout le document dans une arborescence que vous pouvez parcourir dans n'importe quel ordre - intuitif mais gourmand en mémoire pour les fichiers volumineux. SAX diffuse des événements (balise ouvrante, texte, balise fermante) en un seul passage avec une mémoire constante - rapide mais uniquement vers l'avant. Le JavaScript des navigateurs expose DOMParser (approche DOM) ; le streaming de XML en JavaScript nécessite une bibliothèque ou les Web Streams.

Comment inclure < ou & dans du contenu XML ?

Échappez-les en &lt; et &amp; dans le texte ordinaire - < et & sont interdits à l'état brut dans les données de caractères. Pour des blocs de texte riche en balisage, enveloppez-le dans une section CDATA, qui ne nécessite aucun échappement jusqu'à la séquence ]]> à sa fin. Seuls < et & doivent strictement être échappés dans le contenu ; > ne doit être échappé que lorsqu'il forme cette séquence de fermeture.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}