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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<criteria author="Moi">
    <active>true</active>
</criteria>
Voici mon code :

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();
        }
}
}
Résultat après re-sérialisation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<criteria>
    <active>true</active>
</criteria>
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 ?

Merci de vos réponses !