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);
 
    }
}