Partage
  • Partager sur Facebook
  • Partager sur Twitter

Librairie JDOM

Sujet résolu
    15 février 2012 à 10:55:32

    Bonjour,

    J'ai une question sans réponse googleienne à propos de l'utilisation de JDOM :

    J'envoi donc une requête SQl sur à ma base, et dans le requete.next() j'ai les lignes suivantes :

    Element racine = new Element("Commandes");
    document = new Document(racine);
    //Définition de l'ID Client
    Attribute ID_client = new Attribute("Idclient","XXX");
    racine.setAttribute(ID_client);
    
    
    Element commande =new Element("Commande");
    racine.addContent(commande);
    Attribute Nom_commande = new Attribute("Nom","ADD_CONTACT");
    commande.setAttribute(Nom_commande);
    
    
    Element param = new Element("Param");
    commande.addContent(param);
    
    Element client = new Element("Client");
    param.addContent(contact);
                            
    Attribute refContact = new Attribute("RefContact",""+requeteCli.getString("t_libelle")+"");
    Attribute typeContact = new Attribute("TypeContact","CLIENT");
    Attribute adresse = new Attribute("Adrese",""+requeteCli.getString("t_adresse1") +"");
    Attribute CP = new Attribute("CP",""+requeteCli.getString("t_codepostal")+"");
    Attribute ville = new Attribute("Ville",""+requeteCli.getString("t_ville")+"");
    Attribute Tel = new Attribute("Tel",""+requeteCli.getString("t_telephone")+"");
    Attribute nom = new Attribute("Nom",""+requeteCli.getString("t_libelle")+"");
    
                            
    contact.setAttribute(refContact);
    contact.setAttribute(typeContact);
    contact.setAttribute(adresse);
    contact.setAttribute(CP);
    contact.setAttribute(ville);
    contact.setAttribute(Tel);
    contact.setAttribute(nom);
                            
        try{
           XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
           sortie.output(document, System.out);
         }catch(java.io.IOException ex2){
         }
    



    Cela me génère bien le XML voulu, mais avec un fichier XML par "clients", moi j'aimerais bien que toutes les balises <Clients> soient dans le même fichier XML, cela est-il possible?

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      15 février 2012 à 12:07:59

      Salut, ou est ton souci? Il te suffit de réécrire dans ton fichier!
      Au lieu de faire new Document a chaque fois tu fait:
      File file = new File("pathFichierClient");
      Document document;
      if(file.exist()){
      SAXBuilder sxb = new SAXBuilder();
            try
            {
               //On crée un nouveau document JDOM avec en argument le fichier XML
               //Le parsing est terminé 
               document = sxb.build(file);
      }catch{}
      }else{
      document = new Document(racine);
      }
      


      Et après tu vérifie que l'id de ton client existe. Si oui tu modifie les valeur sinon tu créé des Elements et Attribute
      • Partager sur Facebook
      • Partager sur Twitter
        15 février 2012 à 13:58:06

        J'ai bidouiller avec ce que tu m'as dit, mais maintenant j'ai besoin d'ajouter des balises au sein de mon fichier XML.

        Mon fichier une fois créer contient :

        <Commandes...>
          <Commande...>
              <Param>
                   <Contact.../>
              </Param>
           </Commande>
        </Commandes>
        



        Moi ce que je veux, c'est ajouter au fur et a mesure des balise <Commande> pour que sa donne :

        <Commandes...>
          <Commande...>
              <Param>
                   <Contact.../>
              </Param>
           </Commande>
        
           <Commande...>
              <Param>
                   <Contact.../>
              </Param>
           </Commande>
        
           <Commande...>
              <Param>
                   <Contact.../>
              </Param>
           </Commande>
        </Commandes>
        


        Ce que je tente de faire en vain...
        • Partager sur Facebook
        • Partager sur Twitter
          16 février 2012 à 11:51:02

          tu ouvre le fichier en tant que document jdom. tu récupère les éléments Commande, tu boucle si une commande contient l'id du client tu modifie les différents attribut et texte si différent. Sinon si l'id n'existe pas tu créé un élément Commande que tu ajoute a l'élément Commandes.
          • Partager sur Facebook
          • Partager sur Twitter

          Librairie JDOM

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown