Recherche de différences dans deux arbres XML

Recherche de différences dans deux arbres XML - XML/XSL - Programmation

Marsh Posté le 03-10-2010 à 13:14:03    

Bon, je voudrais savoir si qq connait une API Java ou un programme utilisable en ligne de commande de diff de XML digne de ce nom.
 
Pour l'instant, j'ai essayé XMLUnit 1.4 et DiffX, et c'est pas terrible.
 
Je m'explique.
J'ai deux arbres XML
 
1.
<a>
  <b>1</b>
  <b>2</b>
  <b>3</b>
</a>
 
2.
<a>
  <b>2</b>
  <b>3</b>
</a>
 
Je voudrais avoir en sortie un truc du genre:
Dans 1. <a><b>1</b></a> , noeud manquant dans 2.
 
Au lieu de ça, XMLUnit me sortira:
Diff dans 1: <a><b>1</b></a> , dans 2. <a><b>2</b></a>  
Diff dans 1: <a><b>2</b></a> , dans 2. <a><b>3</b></a>  
Diff dans 1: <a><b>3</b></a> , dans 2. manquant
 
Notez que les deux fichiers sont ordonnés (s'ils ne le sont pas, c'est évidemment bien pire, mais j'ai écrit un outil permettant d'ordonner les arbres XML comme je veux). Pour peu que les fichiers fassent plus de quelques Ko, ce genre de sortie est totalement inexploitable.
Quand à DiffX, j'ai l'impression qu'il se démerde mieux, mais présente des performances tellement abyssales qu'il n'est pas utilisable sur de la production (genre 20 mn pour deux pauvres fichiers de moins de 100 Ko pratiquement identiques sur un C2D, or j'ai plus de 10 000 fichiers à traiter, dont certains de plus de 10 Mo), et je suis pas trop fan de sa façon de présenter ses sorties.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 03-10-2010 à 13:14:03   

Reply

Marsh Posté le 03-10-2010 à 13:36:06    

C'est bon, après mûre réflexion, j'ai la réponse. En fait, vu que je peux trier le XML, ce qu'il me faut, c'est juste un outil de diff de fichiers standard.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
Reply

Marsh Posté le 04-10-2010 à 15:34:31    

ben si t'es sous windows, WinDiff, il est free et très bien. Et pas besoin de l'installer ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-10-2010 à 16:37:47    

rufo a écrit :

ben si t'es sous windows, WinDiff, il est free et très bien. Et pas besoin de l'installer ;)


Où t'as vu que WinDiff savait differ des infosets XML?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 04-10-2010 à 16:55:29    

masklinn a écrit :


Où t'as vu que WinDiff savait differ des infosets XML?


 
Il diffe pas des xml mais vue ce qu'a dit el muchacho :

Citation :

C'est bon, après mûre réflexion, j'ai la réponse. En fait, vu que je peux trier le XML, ce qu'il me faut, c'est juste un outil de diff de fichiers standard.


Je lui propose du coup windiff s'il n'a besoin que d'un outil de diff standard :/


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed