Bonjour.
J'ai un problème avec XmlEncoder. J'aimerais enregistrer un objet de type Album dans un fichier au format XML.
Voici la classe:
la classe photo:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class Album { private String nom; private Vector<Photo> v_photos; ... }
et la classe commentaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public class Photo { private int num; private String nomAlbum; private String url; private Vector<Commentaire> v_commentaires; ... }
Voici ma fonction qui doit écrire l'album dans le fichier xml:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public class Commentaire { private int num; private int numPhoto; private String contenu; ... }
Dans mon fichier, les données de l'album sont bien présentes, j'y retrouve également les photos du vector<Photo> mais les commentaires sont absents
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 public void save(Album objPojo) { try { // ouverture de l'encodeur vers le fichier XMLEncoder encoder = new XMLEncoder(new FileOutputStream(objPojo.getNom()+".txt")); // serialisation de l'objet encoder.writeObject((Album)objPojo); encoder.flush(); // fermeture de l'encodeur encoder.close(); Vector<String> bibliotheque = listerAlbums(); bibliotheque.add(objPojo.getNom()); try { // ouverture de l'encodeur vers le fichier XMLEncoder encoder2 = new XMLEncoder(new FileOutputStream("bibliotheque.txt")); // serialisation de l'objet encoder2.writeObject(bibliotheque); encoder2.flush(); // fermeture de l'encodeur encoder2.close(); }catch(Exception ex){} }catch(Exception ex){} }
On dirait que les </object> correspondent aux commentaires mais ils sont vides... :/
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 <?xml version="1.0" encoding="UTF-8"?> <java version="1.6.0" class="java.beans.XMLDecoder"> <object class="metier.Album"> <void property="vPhotos"> <object class="java.util.Vector"> <void method="add"> <object class="metier.Photo"> <void property="nomAlbum"> <string>test3</string> </void> <void property="url"> <string>C:\\Users\\Public\\Pictures\\Sample Pictures\\Jellyfish.jpg</string> </void> </object> </void> <void method="add"> <object class="metier.Photo"> <void property="nomAlbum"> <string>test3</string> </void> <void property="url"> <string>C:\\Users\\Public\\Pictures\\Sample Pictures\\Chrysanthemum.jpg</string> </void> </object> </void> </object> </void> <void property="nom"> <string>test3</string> </void> </object> </java>
Je précise que j'ai bien dans les 3 classes un constructeur vide et des get/set sur les variables...
Un solution? :s
Merci d'avance
Partager