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

Java Discussion :

Vector et XMLEncoder


Sujet :

Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut Vector et XMLEncoder
    Bonjour à tous,

    Pour un projet scolaire (carnet d'adresses), je voudrais sauvegarder des instances de classe. J'ai trouver sur Internet un exemple basé sur les classes XMLDecoder et XMLEncoder qui permettent de sérialiser des objet en XML. C'est exactement ce que je voudrais faire, mais malheureusement je n'arrive pas à encoder un Vector de String en XML alors que cela marche très bien pour des String simple.

    voila la classe sur laquelle je fais mes tests :
    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
    public class Foo {
       private String foo ;
       private Vector<String> VFoo = new Vector<String>();
     
       public void setFoo(String s) {
         foo = s;
       }
     
       public String getFoo() {
         return foo;
       }
       public void setVFoo(String s) {
         VFoo.addElement(s);
       }
     
       public Vector<String> getVFoo() {
         return VFoo;
       }
    }
    Le fichier XML générer avec XMLEncoder produit donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <java version="1.6.0_10" class="java.beans.XMLDecoder">
      <object class="imports.Foo">
        <void property="foo">
          <string>bar</string>
        </void>
      </object>
    </java>
    Alors qu'avant d'écrire le fichier je rajoute 2 String dans le Vector VFoo...

    J'ai regarder la javadoc de XMLEncoder/XMLDecoder, mais il ne me semble avoir rien lu disant que cela ne marchait pas avec les vecteur...

    Si quelqu'un a déjà rencontrer se genre de problème, je veux bien avoir un coup de pouce...

    D'avance merci

    Booboule

  2. #2
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Tes attributs doivent posséder des getteur/setteur correct si tu veux pouvoir les sauvegarder en XML.

    Ta méthode setVFoo() devrait ressembler à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     public void setVFoo(Vector<String> vector) {
       this.VFoo = vector;
    }
    a++

    PS : Il y a une raison pour laquelle tu utilises encore Vector ? Il serait préférable d'utiliser le couple List/ArrayList...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 7
    Par défaut
    Déjà, Merci bcp pour ta réponse rapide (et qui en plus d'être rapide est juste ;-)
    Je ne sais pas si j'ai bien fait le design de mon programme, mais en fait, j'ai une classe contact qui a plein de champs (entre autre des String et des int pour tout ce qui est nom, adresse, ...) et des getters/setters qui vont bien.
    D'autre part, j'ai une autre classe qui contient principalement un vecteur de contact. Cette seconde classe est utilisé d'un côté pour regrouper tous contacts vis-à-vis de mon interface qui est gérer par d'autre classe, et d'autre part pour gérer toute la sauvegarde du carnet d'adresse entre les fermetures/ouverture du programme...
    Je pensais donc que le vecteur était l'objet le plus approprié pour cette utilisation dans ma classe "carnet d'adresse", mais je me trompe peut-être...

    Dans tout les cas, merci bcp pour ton aide.

    Booboule

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

Discussions similaires

  1. [Struts] logic:iterate avec un Vector
    Par laurentb dans le forum Struts 1
    Réponses: 18
    Dernier message: 03/03/2004, 14h42
  2. vector et erase()
    Par gytr2 dans le forum SL & STL
    Réponses: 6
    Dernier message: 02/03/2004, 12h45
  3. equivalent Vector du jsp
    Par Djib dans le forum ASP
    Réponses: 4
    Dernier message: 05/12/2003, 08h07
  4. "vector" provoque "syntax error", malgré
    Par seenkay dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 24/08/2003, 03h21
  5. Réponses: 2
    Dernier message: 11/07/2003, 18h24

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