Bonjour,
J'essaye de marshaler une liste d'objet en un fichier XML,mais quand d’insert un nouveau objet dans le fichier XML l'ancien s"crase alors je n'arrive pas à insérer une liste d'object !!
Quelqu'un peu m'aider ?
Merci
Voila 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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 package packXML; import java.io.File; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement class Customer { String name; int age; int id; public String getName() { return name; } @XmlElement public void setName(String name) { this.name = name; } public int getAge() { return age; } @XmlElement public void setAge(int age) { this.age = age; } public int getId() { return id; } @XmlAttribute public void setId(int id) { this.id = id; } } public class CreationXML { public static void creerXML(List<Customer> c) throws JAXBException { try { File file = new File("C:/tmp/file.xml"); JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class); Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); // output pretty printed jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); Iterator iterator = c.iterator(); while (iterator.hasNext()) { jaxbMarshaller.marshal(iterator.next(), file); } } catch (JAXBException e) { e.printStackTrace(); } } public static void main(String[] args) throws JAXBException { Customer c1 = new Customer(); c1.setId(100); c1.setName("mkyong"); c1.setAge(29); Customer c2 = new Customer(); c2.setId(200); c2.setName("mkyong2"); c2.setAge(292); List<Customer> l = new LinkedList(); l.add(c1); l.add(c2); creerXML(l); } }
Partager