42 votes

Outil ou bibliothèque pour comparer des fichiers XML

Je suis à la recherche d'un XML en comparant outil qui comprend xml. Il ne peut pas être une ligne par ligne de comparaison comme WinMerge ou au-Delà de Comparer.

Une solution idéale serait celle qui montre les changements similaire à la façon dont Word 2007, montre le suivi des modifications. DeltaXML fait cela, mais ne vient pas avec une vraie interface graphique "out of the box" et est de 500 $par utilisateur!:

os8k5k.jpg

ExamXml fonctionne hors de la boîte, mais affiche les différences dans une confusion manière. Il n'a pas une notion d'avant et d'après, il montre les différences:

alt text

L'outil devrait être le concept de l'utilisation des attributs comme une clé, de sorte qu'il ne pense pas qu'un réarrangement de la liste des éléments a changé. DeltaXML fait cela, mais je n'ai pas réussi à le configurer correctement pour la capture d'écran.


Mise à JOUR:

Jusqu'à présent ExamlXML est le meilleur de la solution de la boîte. Mais il lui manque la gestion du changement concepts de DeltaXML. D'où certains problèmes d'utilisabilité.

DeltaXML est à peu près la solution dont j'ai besoin, mais quelque chose avec plus de fonctionnalités de la boîte serait mieux. DeltaXML nécessite l'écriture de code java à l'appel de l'api, ainsi que l'écriture XSL pour transformer le xml en entrée attendue.

18voto

Sylverdrag Points 3373

Je suis très surpris personne n'a mentionné de Microsoft XML NotePad

C'est gratuit et ça peut créer une très bonne comparaison, indiquant les éléments/attributs sont modifiés, déplacés, supprimés, etc.:

(Désolé si les captures d'écran sont un peu large).

Vous pouvez également appliquer XLSes le fichier XML et de faire diverses opérations d'édition. Bien la peine d'essayer.

14voto

John Virgolino Points 1231

Si je comprends votre problème, il est probable que vous avez une application qui utilise des fichiers XML comme le stockage de données et l'interface graphique de résumés de la "technique" des noms de balise en "user friendly" étiquettes - encore une fois, je suppose. Il serait donc un prolongement naturel de voir les différences d'une manière similaire. Je suis aussi en supposant que votre demande n'a pas une diff installation qui suit l ' "abstraction" concept.

J'ai fait quelques recherches et trouvé une application (ExamXML) qui semble se rapprocher à la mise en évidence de caractéristiques. J'ai téléchargé la version eval et testé vos fichiers contre elle:

Il fait un assez bon travail de mettre en évidence les différences. Il semble assez interactif et apparaît à comment beaucoup de différences. Il semble que vous pouvez changer les couleurs qu'il utilise, alors peut-être vous pouvez utiliser les gris et les blancs de souligner les balises. Il semble également avoir beaucoup d'options que vous pouvez pré-définie pour vos utilisateurs.

Je tiens à noter qu'il vous sera difficile de trouver un XML outil de comparaison qui ne montrent pas les noms de balise, que les balises sont ce qui donne le contenu contexte. Si vous prenez le contexte, il devient difficile de comprendre les données affichées. De toute façon, peut-être que cet outil pourrait être utile. Avez-vous également essayé de montrer à vos utilisateurs de certains de ces outils et de voir ce qu'ils sont prêts à tolérer, parfois, ils peuvent vous surprendre. Espérons que cette aide!

5voto

Mike L Points 2028

DiffMerge de SourceGear est gratuit pour un utilisateur unique:

http://www.sourcegear.com/diffmerge/

3voto

James Sulak Points 9959

Je pourrais essayer de DeltaXML + une transformation XSLT pour obtenir le résultat que vous souhaitez. Un problème avec l'aide de texte brut comparer des outils XML, c'est que la forme physique d'un document XML (son indentation, etc.) peut changer même si le contenu lui-même ne l'est pas, ce qui pourrait conduire à beaucoup de faux positifs. DeltaXML est un très bon outil de comparaison de document basé sur XML.

Aussi, selon l'éditeur de vos utilisateurs, il peut avoir des XML de différenciation intégrée. Par exemple, Arbortext Editor est un bon outil qui affiche le texte (pas les balises) avec des changements souligné / barré.

3voto

jmcecil Points 241

Altova diffDog XML Spy et diffDog sont des outils exceptionnels. Soulevez-les de mes mains froides et mortes, un peu truc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X