Comment comparer deux fichiers XML
- Collez ou déposez le XML d’origine à gauche et le XML modifié à droite. Le résultat se met à jour pendant la saisie.
- Choisissez ce qu’il faut ignorer : espaces dans le texte, commentaires ou ordre des attributs. Masquer les lignes inchangées raccourcit les longs documents.
- Lisez le résumé des lignes ajoutées, supprimées et modifiées, puis parcourez la vue côte à côte. Inverser les côtés change le sens de la comparaison.
Ce que le diff XML ignore
| Différence | Ignorée |
|---|---|
| Indentation et sauts de ligne entre les éléments | Toujours |
| Guillemets simples ou doubles autour des valeurs d’attribut | Toujours |
<a/> ou <a></a> | Toujours |
| Espaces et sauts de ligne superflus dans le texte | Avec Ignorer les espaces dans le texte (activé par défaut) |
| Commentaires | Avec Ignorer les commentaires |
| Ordre des attributs | Avec Ignorer l’ordre des attributs (activé par défaut) |
| Ordre des éléments | Jamais – un élément déplacé apparaît comme supprimé puis ajouté |
Préfixes d’espace de noms, & ou &, CDATA ou texte échappé | Jamais – ils sont comparés tels qu’écrits |
Comment fonctionne la comparaison
Les deux documents sont analysés, normalisés selon les options choisies, puis réécrits avec la même indentation de deux espaces. Les lignes obtenues sont comparées avec l’algorithme de diff de Myers, la méthode utilisée par défaut par git diff. Les lignes remplacées sont associées en tant que lignes modifiées, et les longues séries de lignes inchangées peuvent être repliées. Comme le résultat se rapporte à ces versions formatées, la position des lignes peut différer de celle de vos fichiers d’origine.
Questions fréquentes
L’ordre des éléments compte-t-il ?
Oui. En XML, les éléments sont ordonnés : un élément déplacé apparaît comme supprimé à un endroit et ajouté à un autre. Seul l’ordre des attributs peut être ignoré, car il n’a aucune signification en XML.
Pourquoi deux fichiers sont-ils différents alors qu’ils semblent identiques ?
Vérifiez les options : les commentaires, l’ordre des attributs et les espaces dans le texte comptent comme des différences lorsque l’option correspondante est désactivée. Les préfixes d’espace de noms et les écritures d’entités comme & et & sont également comparés exactement tels qu’écrits.
Puis-je comparer un XML qui n’est pas bien formé ?
Non. Les deux documents doivent d’abord être analysés. Si l’un d’eux contient une erreur, elle s’affiche sous le côté concerné avec sa ligne et sa colonne – corrigez-la à cet endroit ou dans le validateur XML.
Mes données sont-elles envoyées sur un serveur ?
Non. La comparaison s’effectue dans votre navigateur et rien n’est envoyé à un serveur.