Comparateur de différence XML
Guide
Comparateur de différence XML
Comparer deux documents XML au niveau des nœuds ou au niveau des lignes. Le comparateur XML met en évidence les ajouts, suppressions, modifications et changements d'attributs afin de détecter exactement ce qui a changé sans avoir à parcourir des milliers de balises à l'œil.
Contrairement aux outils de comparaison de texte classiques, ce comparateur comprend la structure XML : il ignore les espaces en blanc esthétiques, peut ignorer les nœuds de commentaire et considère par défaut les ensembles d'attributs comme indépendants de l'ordre. Le résultat est une différence qui reflète les changements sémantiques plutôt que le bruit de reformattage.
Comment utiliser
- Collez votre XML original dans la XML A zone et votre XML mis à jour dans la XML B boîte.
- Choisir Structural diff pour voir les modifications au niveau des nœuds regroupées par ajout, suppression, texte et attribut, ou Line-level diff pour voir une vue unifiée après mise en forme.
- Basculer Ignore whitespace, Ignore commentset Ignore attribute order selon la stricte que vous souhaitez pour la comparaison.
- Copiez le patch unifié généré ou téléchargez-le sous forme de fichier .patch prêt à être inséré dans un examen de code.
Caractéristiques
- Structural diff mode – Parcourt les deux documents en tant que arbres, associe les éléments par nom de tag et rapporte les ajouts, suppressions, modifications de texte et changements d'attributs par rapport à une chaîne XPath similaire.
- Line-level diff mode – Formate les deux documents avec une indentation cohérente et exécute une comparaison de séquence commune la plus longue (LCS) pour produire une vue unifiée familière.
- Ignore noise toggles – Des commutateurs indépendants pour les espaces en blanc, les nœuds de commentaire et l'ordre des attributs afin que les modifications esthétiques ne polluent pas la différence.
- Collapsible unchanged sections – En mode ligne, les longues séries de lignes identiques se regroupent en un placeholder afin que l'écran reste concentré sur les modifications.
- Unified patch export – Le texte exportable est toujours affiché sous forme de format standard
@@ ... @@de bloc que vous pouvez coller dans une demande de pull ou appliquer avecpatch. - Auto-process – Le calcul de la différence se fait en temps réel lorsque vous tapez ou modifiez les options ; aucun bouton d'envoi n'est nécessaire.
FAQ
-
Quelle est la différence entre un diff structuré et un diff de texte pour XML ?
Un diff de texte traite l'XML comme une séquence de caractères, donc le réformatage d'un tag sur plusieurs lignes ou le réordonnancement des attributs apparaît comme une modification. Un diff structuré analyse les deux documents en tant que arbres et compare les nœuds par leur position et leur nom de tag, puis met en évidence les différences sémantiques telles que des éléments ajoutés ou supprimés, des modifications de texte ou d'attributs. Pour les fichiers de configuration et les échanges de données, les diffs structurés sont beaucoup moins bruyants.
-
Pourquoi l'ordre des attributs XML est-il généralement sans importance ?
La spécification XML déclare que l'ordre des attributs sur un élément est sans importance. Deux éléments ayant le même ensemble de noms et de valeurs d'attributs représentent la même information, quel que soit l'ordre dans lequel ils apparaissent dans le markup sérialisé. La plupart des analyseurs XML, des validateurs de schéma et des consommateurs suivants ignorent l'ordre des attributs, ce qui est la raison pour laquelle les outils de diff proposent généralement un commutateur pour ignorer les modifications d'ordre.
-
Comment l'algorithme de la plus longue sous-séquence produit-il un diff unifié ?
L'algorithme de la plus longue sous-séquence (LCS) trouve la plus longue séquence ordonnée d'éléments qui apparaît dans les deux entrées sans modifier l'ordre relatif. Les lignes appartenant à la LCS restent inchangées ; les lignes du premier document qui ne figurent pas dans la LCS sont des suppressions, et les lignes du second document qui ne sont pas dans la LCS sont des ajouts. En enveloppant ces classifications avec des informations de localisation et quelques lignes de contexte, on obtient le format standard de diff unifié utilisé par git et patch.
-
Pourquoi les espaces en blanc dans XML changent-ils parfois de sens ?
Dans la plupart des documents XML, les espaces en blanc entre les éléments sont purement esthétiques, mais certains types de documents considèrent les espaces en blanc comme significatifs. XHTML, les modèles XSLT et tout élément portant l'attribut xml:space="preserve" considèrent les espaces internes comme faisant partie des données. Une valeur par défaut sécurisée est d'ignorer les espaces en blanc lors de la comparaison de la structure, mais de permettre un match strict lorsqu'on travaille avec des grammaires sensibles aux espaces en blanc.
Installez nos extensions
Ajoutez des outils IO à votre navigateur préféré pour un accès instantané et une recherche plus rapide
恵 Le Tableau de Bord Est Arrivé !
Tableau de Bord est une façon amusante de suivre vos jeux, toutes les données sont stockées dans votre navigateur. D'autres fonctionnalités arrivent bientôt !
Outils essentiels
Tout voir Nouveautés
Tout voirMise à jour: Notre dernier outil a été ajouté le 12 juin 2026
