IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Marshalling avec JAXB [JAXB]


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre confirmé Avatar de azassma
    Femme Profil pro
    Ph.D - Computer Vision
    Inscrit en
    Avril 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ph.D - Computer Vision
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 159
    Par défaut Marshalling avec JAXB
    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);
     
        }
    }

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 67
    Par défaut Crée autant de Root
    Salut,
    Si tu essaye de voir ce que tu écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jaxbMarshaller.marshal(customer,System.out);
    résultat :
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <customer id="100">
    <age>29</age>
    <name>mkyong</name>
    </customer>
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <customer id="200">
    <age>292</age>
    <name>mkyong2</name>
    </customer>
    En fait, tu écris le fichier deux fois, donc tu l’écrase pour le remplir avec le deuxième élément de ta liste.

  3. #3
    Membre confirmé Avatar de azassma
    Femme Profil pro
    Ph.D - Computer Vision
    Inscrit en
    Avril 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ph.D - Computer Vision
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 159
    Par défaut
    Je ne veux pas l'afficher sur la sortie standard mais de le récupérer dans un fichier.
    En fait j'essaye de convertir le résultat d'une requête de mysql qui est de type List en un fichier XML

  4. #4
    Membre confirmé Avatar de azassma
    Femme Profil pro
    Ph.D - Computer Vision
    Inscrit en
    Avril 2012
    Messages
    159
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ph.D - Computer Vision
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 159

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. marshalling d'un objet String avec JAXB
    Par mystro7200 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 19/02/2009, 15h04
  2. probleme avec jaxb
    Par felix79 dans le forum Persistance des données
    Réponses: 1
    Dernier message: 04/04/2007, 23h02
  3. Problème avec JAXB
    Par vince79 dans le forum Persistance des données
    Réponses: 2
    Dernier message: 14/12/2006, 11h22
  4. [Débutant(e)] Problème avec JaxB !
    Par garulfo2 dans le forum Persistance des données
    Réponses: 6
    Dernier message: 08/02/2005, 09h28
  5. [Ant]problème avec JAXB et XJC
    Par lili2704 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 08/12/2004, 12h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo