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 371
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 371
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 371
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
Rejoignez-nous