Manipuler un fichier XML

Résolu
mizou1khane
Messages postés
3
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
22 juillet 2011
- 21 juil. 2011 à 15:41
 Utilisateur anonyme - 22 juil. 2011 à 23:21
Bonjour tt le monde,
Veuillez m'aidez sur ce truc dont j'ai passé plusieurs jours dedans,
j'ai un fichier XML :
<name><![CDATA[frames]]></name>
<row number="0">
<col number="0"><![CDATA[Trame]]></col>
<col number="1"><![CDATA[is ISCAN]]></col>
<col number="2"><![CDATA[Emetteur]]></col>
<col number="3"><![CDATA[Rx/Tx]]></col>
<col number="4"><![CDATA[Calibration ID]]></col>
<col number="5"><![CDATA[Calibration longueur]]></col>
/row>
<row number="1">
<col number="0"><![CDATA[072]]></col>
<col number="1"><![CDATA[1]]></col>
<col number="2"><![CDATA[CMM]]></col>
<col number="3"><![CDATA[Tx]]></col>
<col number="4"><![CDATA[Cxx_message_tx_072]]></col>
<col number="5"><![CDATA[NA]]></col>
et je veux le réécrire en JAVA comme suiiit :
<trame><![CDATA[072]]></trame>
<![CDATA[CMM]]>
<![CDATA[Tx]]>
<Rx/Tx><![CDATA[Cxx_message_tx_072]]></Rx/Tx>
<Calibration ID><![CDATA[NA]]></Calibration ID>
Veuillez me proposez un solution, merciii d'avance

7 réponses

Utilisateur anonyme
22 juil. 2011 à 23:21
SAX est séquentiel, tu ne peux pas revenir en arrière. Par contre, avec JDOM et DOM, tu peux manipuler une structure de façon arborescente, tu prends le noeud père du noeud qui pourrait t'intéresser et c'est bon.



T.U.E.R yeah! vive java
3
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
21 juil. 2011 à 16:14
Bonjour,

Ou se situe ton problème exactement ?
0
mizou1khane
Messages postés
3
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
22 juillet 2011

22 juil. 2011 à 09:42
Bonjour Julien,
mon prb est de changer col number="0" de row number="1" par "Trame" qui est la col number="0" de row number="0" et bien sur tout ce qui suit row number="2", row number="3"... et leurs col number...., sachant bien que les col number="X" de row number="0" sont les entêtes d'une trame donc les noms sont variables dune trame à une autre, j'estime avoir une solution qui varie selon les entétes.
0
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
22 juil. 2011 à 11:01
Pour t'en sortir, à ta place je n'utiliserais pas de parseur XML, j'ourirais le fichier tel quel et j'utiliserais les expressions régulières et la fonction replaceAll de String pour effectuer les modifications.

Je te conseil donc de trouver un tutoriel sur les expressions régulières.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
22 juil. 2011 à 11:14
Bonjour

Tu peux utiliser Xalan ou Xerces. SAX serait suffisant et propre pour un exemple si simple. Sinon, regarde du côté de DOM et JDOM.









T.U.E.R yeah! vive java
0
cs_Julien39
Messages postés
6414
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
29 juillet 2020
366
22 juil. 2011 à 11:41
Je viens de relire ton message et ton deuxième post m'a un peu perdu... Oubli mon post précédant.

gouessej a raison, utilise un parseur XML
0
mizou1khane
Messages postés
3
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
22 juillet 2011

22 juil. 2011 à 12:01
j'ai essayé avec Parseur XML comme JDOM et SAX, et le probléme que cet 2 parseurs nous offre la possibilité de changer les Tag mais seulement à travers le code c'est à dire "Balise.rename(New_Name)" et o méme temps elles nous donnent pas la possibilité de récupérer les tag précedent, et moi je veux changer les tag selon le fichier XML passer en parseur
0