Analyse/Comparaison de fichiers
Filibert28
Messages postés
3
Statut
Membre
-
jeanbi Messages postés 15399 Date d'inscription Statut Contributeur Dernière intervention -
jeanbi Messages postés 15399 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
je cherche à réaliser un utilitaire permettant de comparer deux fichiers xml.
Pour cela, j'aimerais réaliser quelque chose du type.
Par exemple avec les 2 fichiers suivants :
Fichier1:
<JDepend name="project" version="1.0">
<Packages>
<Package name="java.io">
<error>No stats available: package referenced, but not
analyzed.</error>
</Package>
<Package name="java.lang">
<error>No stats available: package referenced, but not
analyzed.</error>
</Package>
...
</Packages>
</JDepend>
L'utilitaire commencera par récupérer l'élément racine :
<JDepend name="project" version="1.0">
Dans le second fichier, il cherchera à récupérer l'élément équivalent,
puis il comparera si les attributs de l'élément ont changé.
Fichier2:
<JDepend name="project2" version_control="1.2">
$ ./tp4.sh file1.xml file2.xml
'JDepend' (line 2):
attribut 'version' removed
attribut 'version_control' added with value '1.2'
attribut 'name' value modified to 'project2'
Je désire programmer ceci uniquement en bash sous Unix et je ne sais vraiment pas comment faire .
Une idée ?!
je cherche à réaliser un utilitaire permettant de comparer deux fichiers xml.
Pour cela, j'aimerais réaliser quelque chose du type.
Par exemple avec les 2 fichiers suivants :
Fichier1:
<JDepend name="project" version="1.0">
<Packages>
<Package name="java.io">
<error>No stats available: package referenced, but not
analyzed.</error>
</Package>
<Package name="java.lang">
<error>No stats available: package referenced, but not
analyzed.</error>
</Package>
...
</Packages>
</JDepend>
L'utilitaire commencera par récupérer l'élément racine :
<JDepend name="project" version="1.0">
Dans le second fichier, il cherchera à récupérer l'élément équivalent,
puis il comparera si les attributs de l'élément ont changé.
Fichier2:
<JDepend name="project2" version_control="1.2">
$ ./tp4.sh file1.xml file2.xml
'JDepend' (line 2):
attribut 'version' removed
attribut 'version_control' added with value '1.2'
attribut 'name' value modified to 'project2'
Je désire programmer ceci uniquement en bash sous Unix et je ne sais vraiment pas comment faire .
Une idée ?!
A voir également:
- Analyse/Comparaison de fichiers
- Comparaison million milliard - Accueil - Technologies
- Renommer des fichiers en masse - Guide
- Analyse composant pc - Guide
- Analyse disque dur - Télécharger - Informations & Diagnostic
- Fichiers epub - Guide
ex:
Fichier 1:
<root name="application">
<configuration name="prod" context="run">
<backup oneline="true">
</configuration>
</root>
Fichier 2:
<root
name="application">
<configuration name="prod"
context="run">
<backup
oneline="false">
</configuration>
</root>
en utilisant diff, on obtient :
1,3c1,6
< <root name="application">
< <configuration name="prod" context="run">
< <backup oneline="true">
---
> <root
> name="application">
> <configuration name="prod"
> context="run">
> <backup
> oneline="false">
Ce qui ne convient évidemment pas...
As tu essayé avec Winmerge ?
Perso, je n'ai pas testé avec du xml, mais je pense que ca en vaut le coup.
C'est en plus un opensource
a+
https://winmerge.org/
ma reponse n'a aucun interet