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 :

Création d'un fichier XML avec JDOM


Sujet :

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

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 59
    Points : 46
    Points
    46
    Par défaut Création d'un fichier XML avec JDOM
    Bonjour à tous.

    J'ai un problème que j'espère vous allez pouvoir m'aider à résoudre. En effet débutant vraiment dans tout ce qui touche au XML je suis bien perdu.

    j'aimerais créer l'arborescence suivante :

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <Produit>
      <produit>
        <code>
          1695897884541
          <nom>beurre</nom>
          <quantite>1</quantite>
        </code>
        <code>
          7985561454527
          <nom>confiture</nom>
          <quantite>3</quantite>
        </code>
      </produit>
    </Produit>

    En utilisant l'api JDOM j'ai ce code java :

    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
        public static void main(String[] args) {
            Element etudiant = new Element("produit");
            racine.addContent(etudiant);
     
            Element code = new Element("code");
            code.setText("1695897884541");
            etudiant.addContent(code);
            Element quantite = new Element("quantite");
            quantite.setText("1");
            code.addContent(quantite);
            Element nom = new Element("nom");
            nom.setText("beurre");
            code.addContent(nom);
            try
       {
          XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
          sortie.output(document, new FileOutputStream("Produit.xml"));
       }
       catch (java.io.IOException e){}
        }

    Seulement avec mon code je n'ai qu'un produit, je n'arrive par a ré-ouvrir la balise <code> pour rajouter un nouveau code.

    Merci de m'aider

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Citation Envoyé par Reminouche Voir le message
    Seulement avec mon code je n'ai qu'un produit, je n'arrive par a ré-ouvrir la balise <code> pour rajouter un nouveau code.
    Il est tout à fait normal de n'obtenir qu'un seul élément <code> puisque tu n'en crées qu'un seul.
    As-tu seulement essayé (par exemple en dupliquant toute la partie de Element code = new Element à code.addContent(nom);) d'en créer un deuxième ? Parce que ça ne se voit pas dans ton code...

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 59
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Astartee Voir le message
    Il est tout à fait normal de n'obtenir qu'un seul élément <code> puisque tu n'en crées qu'un seul.
    As-tu seulement essayé (par exemple en dupliquant toute la partie de Element code = new Element à code.addContent(nom);) d'en créer un deuxième ? Parce que ça ne se voit pas dans ton code...
    Bien sur si je rajoute un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Element code = new Element("code");
    code.setText("007");
    Il me met un warning pour me signaler que la variable code est déja déclaré.

    Pour info, je recherche le moyen de stocker plein de produit caractérisé par leur code (clé primaire) , leur nom, et leur quantité.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Citation Envoyé par Reminouche Voir le message
    Bien sur si je rajoute un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Element code = new Element("code");
    code.setText("007");
    Il me met un warning pour me signaler que la variable code est déja déclarée.
    Euh... si tu n'arrives pas à comprendre et à corriger ce problème, c'est que tu devrais sans doute commencer par lire un cours de Java
    Allez, je te donne la solution :
    - soit tu utilises une nouvelle variable de type Element, à laquelle tu vas évidemment donner un autre nom (exemple : code2)
    - soit tu réutilises la même variable, mais sans la re-déclarer, évidemment !

    Ensuite, pour créer "plein de" balises <code>, je te conseille de commencer par factoriser un peu ton code, en créant une méthode qui prend en argument un nom de produit, un code produit et une quantité et qui renvoie un Element correctement rempli.
    Si tu comptes lire les informations sur tes produits dans une base de données ou dans un fichier de configuration, il suffira de boucler sur les informations lues et d'appeler la méthode avec les bons arguments.
    Si tu comptes tout renseigner "en dur" dans ton code, il faudra appeler la méthode n fois dans le code avec les bons arguments à chaque fois... mais alors tu pourrais aussi bien écrire directement le fichier xml, donc j'espère que tu n'es pas dans ce cas

Discussions similaires

  1. [JDOM] Exception pendant la lecture d'un fichier XML avec JDOM
    Par 0coco0 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 20/03/2009, 11h21
  2. [JDOM] Génération d'un fichier XML avec JDOM
    Par demcoul dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 27/11/2008, 13h50
  3. [JDOM] parser fichier xml avec JDOM
    Par sal.gass dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 17/06/2008, 11h41
  4. [JDOM] enregistrer un fichier XML avec JDOM
    Par fatenatwork dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 28/09/2007, 10h42
  5. [JDOM] Création d'un fichier xml avec jdom
    Par fabricew59 dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 09/08/2006, 11h17

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