Bonjour,
j'ai un fichier XML que je souhaiterais désérialiser pour effectuer des traitements sur les objets puis les re-sérialiser par la suite. Je m'interesse pour le moment à la deserialisation/serialisation avec XStream. Un exemple de fichier XML :
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3<criteria author="Moi"> <active>true</active> </criteria>
Résultat après re-sérialisation :
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 public class Deserialisation { public static void main(String[] args) { try { // Instanciation de la classe XStream XStream xstream = new XStream(new DomDriver()); //Fichier à Deserialiser FileInputStream fis = new FileInputStream(new File("c:/fichier1.xml")); // Fichier re-serialiser File fichier = new File("c:/fichier2.xml"); FileOutputStream fos = new FileOutputStream(fichier); try { // Désérialisation Criteria nouveauCritere = (Criteria) xstream.fromXML(fis); // Serialisation xstream.toXML(nouveauCritere, fos); } finally { fis.close(); fos.close(); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException ioe) { ioe.printStackTrace(); } } }
Comment faire pour stocker les attributs (notamment ici "author") lors de la désérialisation afin de les toujours les avoir lors de la re-sérialisation ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <criteria> <active>true</active> </criteria>
Merci de vos réponses !
Partager