J'ai plusieurs fichiers de configuration dans mes applications .net avec lesquels j'aimerais fusionner les éléments de paramètres d'application, etc.
J'étais sur le point de commencer à le faire manuellement comme d'habitude, mais un outil d'interface graphique de diff XML doit être disponible quelque part.
L'outil pourrait aller au niveau des éléments pour comparer et afficher les différences, etc.
Cependant, Google n’a donné aucun résultat substantiel d’outil gratuit et n’a donné aucune indication pour quelque chose de valeur.
Un tel outil est-il disponible? C'est très utile? Gratuitement?
Merci d'avance. :)
Modifier:
Voici quelques précisions sur la fonctionnalité qui permettrait de transformer mon travail manuel fastidieux, source d'erreurs, en une tâche plus simple en une minute (et un potentiel d'automatisation):
Dans KDiff3, vous pouvez faire une diff/fusion de répertoires entiers. Il existe un diff hiérarchique très précis, convivial et clair. Je souhaitais trouver une solution similaire mais, au lieu de la hiérarchie de répertoires, une hiérarchie d'éléments XML.
S'il n'y a pas un tel logiciel open source, j'envisage d'en créer un sur CodePlex pour fournir cette fonctionnalité.
KDiff n'est pas spécifique à XML, mais il est gratuit. Il fait un bon travail de comparaison et de fusion de fichiers texte.
Jetez un oeil à Outils de comparaison de fichiers , à partir duquel j'utilise WinMerge . Il a la capacité de comparer des documents XML (vous pouvez activer le préfiltre DisplayXMLFiles
).
DisplayXMLFiles.dll - Ce plugin imprime joliment les fichiers XML en insérant des tabulations et des sauts de ligne. Ceci est utile pour les fichiers XML qui n'ont pas de retour de ligne à des emplacements pratiques.
Voir aussi mon tableau de comparaison des caractéristiques .
Je me rends compte que ce fil est un peu vieux et je suis sûr que vous avez déjà trouvé une solution, mais pour les futurs lecteurs, j'ai écrit et publié une application Windows qui résout spécifiquement le problème de la comparaison et de la fusion de fichiers XML.
Projet: Fusionner peut effectuer des comparaisons et des fusions à deux et trois voies de tout fichier XML (deux des fichiers étant considérés comme des révisions indépendantes d'un fichier de base commun). Vous pouvez lui indiquer d’identifier des éléments dans les fichiers d’entrée par des valeurs d’attributs, ou le contenu d’éléments enfants, entre autres.
Il est entièrement contrôlable via la ligne de commande et peut également générer des rapports de texte contenant les différences entre les fichiers.
Quelques outils de différenciation et de fusion XML basés sur Java sont répertoriés ci-dessous:
Open Source XML Diff écrit en Java
Liens ajoutés:
J'utilise TortoiseMerge, qui est inclus dans le programme TortoiseSVN
Et nous avons parlé des outils File Diff dans ce fil, non dédié à XML si
https://stackoverflow.com/questions/1830962/file-differencing-software-on-windows
Bien que ce ne soit pas un outil graphique, mes tests rapides indiquaient que diffxml était prometteur. L’auteur semble avoir réfléchi à la complexité de la représentation standard des différences pour les éléments imbriqués (spécification DUL - Delta Update Language).
En installant et en exécutant ses outils, je peux dire que la sortie de texte brut est assez claire et concise. Il n'offre pas le même degré d'appréhension immédiate qu'un outil graphique, mais étant donné que la sortie est normalisée en tant que DUL, vous pourrez peut-être utiliser cela et créer un outil permettant de générer une représentation visuelle. J'adorerais certainement en voir un.
La section "liens" de l'auteur fait référence à quelques autres outils de différenciation XML, mais comme vous l'avez mentionné dans votre message, ils sont tous propriétaires.
Pretty Diff a été créé avec XML à l'esprit. Assurez-vous simplement de cliquer sur l'option "balisage".
A7Soft fournit des outils de comparaison XML freeware et shareware:
Ceci est un moteur de diff pour les développeurs Java, mais il est livré avec une interface de démonstration - vous pourrez peut-être l'utiliser: https://community.emc.com/docs/ DOC-5042
Le DiffDog d'Altova a une période d'essai gratuite de 30 jours et devrait faire ce que vous cherchez:
Je vous recommande d'utiliser l'outil CodeCompare . Il prend en charge la mise en évidence native des données XML et peut constituer une bonne solution pour votre tâche.