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 :

Enregistrer Données XML


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 63
    Par défaut Enregistrer Données XML
    Bonjour
    je suis entrain de réaliser une application qui permet de stocker des données dans un ficher xml et je travail avec jdom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
      <?xml version="1.0" encoding="UTF-8"?>  
     <customer>  
       <code />  
     <name />  
      <city />  
    </customer>
    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
     
     import java.io.FileOutputStream;  
     import java.io.OutputStream;  
     import javax.swing.JOptionPane;  
     import org.jdom.*;  
     import org.jdom.output.Format;  
     import org.jdom.output.XMLOutputter;  
     
    public class CreerXML {  
     
       public static Element root = new Element("customer");  
         public static Document document = new Document(root);  
     
        public static void main(String args[]){  
         Element code= new Element("code");  
         root.addContent(code);  
         Element name= new Element("name");  
         root.addContent(name);  
         Element city = new Element("city");  
         root.addContent(city);  
     
         save("test.xml");  
         }  
     
         public static void save(String file){  
     
           try {  
                XMLOutputter out= new XMLOutputter(Format.getPrettyFormat());  
                 out.output(document, new FileOutputStream(file));  
     
             } catch (Exception e) {  
                 JOptionPane.showMessageDialog(null, e.getMessage());  
             }  
         }
    et j'aimerai stocker les données à chaque fois que je clique sur le bouton enregistrer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     String code=code.getText();  
     String name=name.getText();  
    String city=city.getText();

    Merci pour l'aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Le plus simple est de garder des références vers les éléments code, name et city de la même manière que tu gardes une référence vers document : statique.

    Ainsi, il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    codeElement.setText(code.getText());
    nameElement.setText(name.getText());
    cityElement.setText(city.getText());
    save("test.xml");
    Si tu avais plus d'éléments et que ça faisait trop pour faire ainsi, tu pourrais utiliser la méthode getChild() pour accéder aux enfants de customer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    root.getChild("code").setText(code.getText());
    root.getChild("name").setText(name.getText());
    root.getChild("city").setText(city.getText());
    save("test.xml");
    Si le chemin d'accès aux éléments était plus compliqués que ça, tu pourrais te reposer sur des sélections XPath :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ((Element) XPath.selectSingleNode(document, "/code")).setText(code.getText());
    ((Element) XPath.selectSingleNode(document, "/name")).setText(name.getText());
    ((Element) XPath.selectSingleNode(document, "/city")).setText(city.getText());
    save("test.xml");
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. [Mysql] Donnée XML >vers> BDD
    Par largiss dans le forum XQUERY/SGBD
    Réponses: 14
    Dernier message: 28/02/2017, 17h51
  2. [XL-2003] macro enregistrer dossier specifique en format "donnée XML"
    Par daxhilo dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 10/09/2012, 16h07
  3. Où est l'Expert Liaison de données XML [BCB6]
    Par Colloc dans le forum C++Builder
    Réponses: 3
    Dernier message: 21/02/2005, 14h33
  4. [xml]manipuler des données xml sous Oracle9i
    Par crazy dans le forum SQL
    Réponses: 7
    Dernier message: 28/02/2004, 11h40
  5. problème xsl : inclure une donnée xml dans une balise html
    Par djodjo dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 03/01/2003, 09h24

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