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 :

ajouter à la fin d'un fichier xml crée par jdom via un formulaire [JDOM]


Sujet :

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

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 11
    Points
    11
    Par défaut ajouter à la fin d'un fichier xml crée par jdom via un formulaire
    bonsoir a tous,
    j'ai utilisé Jdom avec javaFX sur netbeans pour créer un fichier XML dans lequel j'enregistre les données via mon interface (un ensemble de JLabel et de Jtextfield) . en fait en appuyant sur le bouton Enregistrer de mon interface le contenu des JLabel et des Jtextfield sera enregistrer dans le fichier xml.
    mais j'ai un probleme , lorsque je ferme l'interface et et je l'execute une autre fois , il se produit un ecrasement des données precedentes.
    s'il vous plait aidez moi c'est urgent.
    voila mon 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    import com.sun.org.apache.xerces.internal.dom.DOMImplementationImpl;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Pos;
    import javafx.scene.Group;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.Label;
    import javafx.scene.control.TextField;
    import javafx.scene.layout.HBox;
    import javafx.scene.text.Text;
    import javafx.stage.Stage;
    import org.jdom2.DocType;
    import org.jdom2.Document;
    import org.jdom2.Element;
    import org.jdom2.input.SAXBuilder;
    import org.jdom2.output.Format;
    import org.jdom2.output.XMLOutputter;
    import org.w3c.dom.DOMImplementation;
    public class HBoxSample extends Application {
     
     
        static void affiche()
    {
       try
       {
          XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
          sortie.output(document, System.out);
       }
       catch (java.io.IOException e){}
    }
     
    static void enregistre(String fichier)
    {
       try
       {
     
          XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
     
          sortie.output(document, new FileOutputStream(fichier));
       }
       catch (java.io.IOException e){}
    }
     
     
       static Element racine = new Element("personnes");
       static org.jdom2.Document document = new Document(racine);
        private void init(Stage primaryStage) {
            final Group root = new Group();
            primaryStage.setResizable(false);
            primaryStage.setScene(new Scene(root, 800,100));
            final Label label = new Label("nom:");
            final TextField tb = new TextField();
            final Button button = new Button("enregistrer");
            final Label label2 = new Label("prenom:");
            final TextField tb1 = new TextField();
            final Label label4=new Label("Tel:");
            final TextField tb2=new TextField();
            final Label label3 = new Label();
    button.setOnAction(new EventHandler<ActionEvent>() {
     
    @Override
        public void handle(ActionEvent e) {
     
     
     
          Element etudiant = new Element("etudiant");
          racine.addContent(etudiant);
          Element nom = new Element("nom");
     
     
          nom.setText(tb.getText());
          etudiant.addContent(nom);
     
          Element Prenom = new Element("prenom");
          Prenom.setText(tb1.getText());
          etudiant.addContent(Prenom);
          Element Tel = new Element("tel");
          Tel.setText(tb2.getText());
          etudiant.addContent(Tel);
        }
     });
            HBox hbox = new HBox(5);
            hbox.getChildren().addAll(label, tb);
            hbox.getChildren().addAll(label2, tb1);
            hbox.getChildren().addAll(label4, tb2, button);
            hbox.setAlignment(Pos.CENTER_LEFT);
            root.getChildren().add(hbox);
        }
        public double getSampleWidth() { return 800; }
        public double getSampleHeight() { return 100; }
     @Override public void start(Stage primaryStage) throws Exception {
            init(primaryStage);
            primaryStage.show();
     
     
       }
          public static void main(String[] args) {
              launch();
              affiche();
              enregistre("Exercice1.xml");
     
      }
    }

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Ben oui, il faut d'abord charger le précédent fichier XML dans un objet Document, puis ajouter les nouvelles données à ce Document, puis à ce moment-là enregistrer le Document qui contient toutes les données dans un fichier.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    merci.
    vous n'avez pas une exemple qui traite le meme cas ??

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Ben non. Mais ce que j'ai dit n'est pas compliqué :
    - charger le précédent fichier dans un Document avec SAXBuilder.
    - Ajouter les nouvelles données.
    - Enregistrer le Document dans un fichier exactement de la même manière que tu le fais déjà.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    merci bien le probléme est résolu

  6. #6
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Citation Envoyé par medensao Voir le message
    merci bien le probléme est résolu
    Ne pas oublier de passer le sujet à l'état résolu dans ce cas (bouton )

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

Discussions similaires

  1. [DOM]ajouter une ligne dans un fichier xml
    Par aroua dans le forum APIs
    Réponses: 1
    Dernier message: 21/04/2008, 17h25
  2. [DOM] Ajouter un nœud dans un fichier XML
    Par Mo_Poly dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 18/09/2007, 05h23
  3. ajouter un nouvel element dans fichier XML
    Par bgcode dans le forum VB.NET
    Réponses: 5
    Dernier message: 09/07/2007, 16h57
  4. Comment ajouter un élément dans un fichier XML
    Par sorilazer dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 04/06/2007, 21h56
  5. [JDOM] Fichier xml généré par jdom
    Par vero59 dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 05/08/2005, 16h30

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