Manipuler un fichier XML [Résolu]

Signaler
Messages postés
3
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
22 juillet 2011
-
 Utilisateur anonyme -
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


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
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
Bonjour,

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

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.
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
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.

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
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
293
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
Messages postés
3
Date d'inscription
dimanche 6 décembre 2009
Statut
Membre
Dernière intervention
22 juillet 2011

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