Bonjour tout le monde,
J'aurais besoin d'un petit coup de pouce de votre part. J'ai un document XML (~10Mo) que je dois traiter.
L'idéal pour moi serait de pouvoir modifier directement le document en le parcourant.
J'ai divers choses à faire sur ce document :
- Je dois modifier le nom d'un noeud VERT
- Supprimer des balises et ce qui se trouvent entre.ROUGE
- Copier ce qui se trouve entre 2 balises dans une nouvelle balise BLEU
- Créer des nouvelles balises VIOLET
Le top serait de pouvoir dire tu va à cette balise, tu modifies le nom du noeud, tu va à cette balise tu stockes dans une variable ce qu'il y a entre les deux pour pouvoir le coller plus tard dans une nouvelle balise.
Petit schéma du XML de début et de fin que j'aimerais :
J'ai donc commencé à utiliser Stax mais j'ai l'impression que ça ne répond pas forcément à mes attentes en tout cas facilement car je ne peux pas chercher une balise directement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 <BALISE1> <BALISE1METIER> <entry> <int>1</int> <hashtable> <entry> <int>1</int> <BALISE1-1> <CsteA>5</CsteA> <CsteB>5</CsteB> <categories> <Categorie> <nom>FLEURETTE</nom> <balise2> <balise2-1> A REMPLACER PAR <REMPLACEBALISE2-1> <nbGroupes1>1</nbGroupes1> <nbGroupes2>0</nbGroupes2> A SUPPRIMER <plouf> <points> <PointAbs> <pas>0</pas> <valeur>0</valeur> </PointAbs> <PointAbs> <pas>1</pas> <valeur>60</valeur> </PointAbs> </points> </plouf> <libelle>ICI</libelle> A COPIER ET A GARDER EN VARIABLE <commentaires></commentaires> </balise2-1> </balise2> </Categorie> A CREER <Categorie> <nom>FLEURETTE</nom> <balise2> COPIER LA VARIABLE <commentaires></commentaires> </balise2> </Categorie> </categories> <dateDonnees reference="date"/> </BALISE1-1> </entry> </hashtable> </entry> </BALISE1METIER> <boolean>true</boolean> </BALISE1>
Auriez vous qqchose à me conseiller pour faire ce que je vais faire assez simplement et bien sûr sans que la taille du fichier n'implique un problème de lenteur.
J'ai pensé à du XSLT, DOM ?
Merci beaucoup
Partager