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 :

Serialisation XML avec l'api Java standard


Sujet :

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

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 141
    Points : 58
    Points
    58
    Par défaut Serialisation XML avec l'api Java standard
    Salut à tous.

    Je voudrais sérialiser un objet en xml en utilisant les classes XMLDecoder et XMLEncoder, mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    XMLEncoder encoder = new XMLEncoder(new ObjectOutputStream(new FileOutputStream("output/lattice.xml")));
            encoder.writeObject(l);
            encoder.flush();
            encoder.close();
    A l'exécution j'ai l'exception suivante :
    java.lang.InstantiationException: dataStructure.Lattice
    Continuing ...
    java.lang.Exception: XMLEncoder: discarding statement XMLEncoder.writeObject(Lattice);
    Continuing ...
    D'où peut bien venir cette erreur?
    Y'a-t-il des contraintes sur les classes à sérialiser, comme la visibilité de champs ou des choses comme ça?

    Merci!

  2. #2
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Pour pouvoir être sérialisée avec XMLEncoder, une classe doit être un JavaBeans c'est à dire avoir un constructeur par défaut (sans paramètres) et des getters/setters pour chaque attribut devant être modifié.
    Est-ce bien le cas de la classe que tu sérialises ?

    Remarque : il est possible de passer outre ces restrictions mais cela se révèle assez lourd.
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 141
    Points : 58
    Points
    58
    Par défaut
    Pour le constructeur vide, je viens de voir ça dans la javadoc d'InstanciationException, pour les getters, j'y avais pas pensé!
    Je vais essayer ça, merci!

    [Edit] Je viens d'essayer, ça marche presque, il me reste quelques petits trucs à régler, merci!

Discussions similaires

  1. Réponses: 15
    Dernier message: 23/03/2009, 16h07
  2. Problème de jar avec l'API Java d'open Office (com.sun.star)
    Par mazizou dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 27/05/2008, 16h13
  3. Python probleme pour traitement fichier Xml avec l'API dom
    Par chenimitz dans le forum Général Python
    Réponses: 11
    Dernier message: 30/10/2007, 19h34
  4. Serialisation XML avec Xstream !
    Par fabred dans le forum Persistance des données
    Réponses: 4
    Dernier message: 06/06/2007, 08h56
  5. L'API Java Standard Edition en Francais ?
    Par Elendhil dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2006, 21h41

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