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 :

est ce qu'on peut créer un fichier xml en java ? [DOM]


Sujet :

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

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 24
    Points : 16
    Points
    16
    Par défaut est ce qu'on peut créer un fichier xml en java ?
    Bonjour

    est ce qu'on peut créer un fichier xml en java ??

    j'utilise l'api org.w3c.dom, j'arrive à lire des xml avec le DocumentBuilderFactory, mais pour créer un fichier xml et ecire dedant j'arrive pas ...

    quel qu'un à une idée ??

    merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 145
    Points : 179
    Points
    179
    Par défaut
    J'utilise jdom pour ça (lecture et écriture d'ailleurs)
    Je trouve ça hyper pratique pour les fichiers XML de taille raisonnable.
    http://www.jdom.org/

    Maintenant pour les énormes fichiers mieux vaut utiliser SAX. C'est plus de l'événementiel. Mais pour la lecture et l'écriture ça devient vite plus compliqué à coder. C'est quand même beaucoup plus efficace (pas de mémoire qui part en sucette)

    Bonne lecture...

  3. #3
    Membre confirmé
    Avatar de bmoussaud
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 218
    Points : 555
    Points
    555
    Par défaut
    Citation Envoyé par Jense
    Maintenant pour les énormes fichiers mieux vaut utiliser SAX. C'est plus de l'événementiel. Mais pour la lecture et l'écriture ça devient vite plus compliqué à coder. C'est quand même beaucoup plus efficace (pas de mémoire qui part en sucette)
    Attention l'api SAX ne permet que de lire un document, pas de le modifier ni de le créer. La remarque est cepandant très vrai pour la lecture.

    Sinon Si ton document est très simple tu peux utiliser java.io.* !

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    j'ai trouvé un exemple qui utilise XDocument mais j'arrive pas à trouvé l'api correspondant cette class, j'été sur le site de sun mais rien

    je cherche tjr ....

    merci

  5. #5
    Membre confirmé
    Avatar de bmoussaud
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 218
    Points : 555
    Points
    555
    Par défaut
    un petit coup de pouce
    Creer un nouveau document DOM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     public static Document createDomDocument() {
            try {
                DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
                Document doc = builder.newDocument();
                return doc;
            } catch (ParserConfigurationException e) {
            }
            return null;
        }
    Ajouter une 'node'
    http://javaalmanac.com/egs/org.w3c.dom/AddNode.html
    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
     
    This example demonstrates how to insert a node into a DOM relative to another node. In particular, a text node is inserted around an element node.
     
        // Create a new DOM document; this method is implemented in
        // e511 Creating an Empty DOM Document
        Document doc = createDomDocument();
     
        // Insert the root element node
        Element element = doc.createElement("root");
        doc.appendChild(element);
     
        // Insert a comment in front of the element node
        Comment comment = doc.createComment("a comment");
        doc.insertBefore(comment, element);
     
        // Add a text node to the element
        element.appendChild(doc.createTextNode("D"));
     
        // Add a text node to the beginning of the element
        element.insertBefore(doc.createTextNode("A"), element.getFirstChild());
     
        // Add a text node before the last child of the element
        element.insertBefore(doc.createTextNode("C"), element.getLastChild());
     
        // Add another element after the first child of the root element
        Element element2 = doc.createElement("item");
        element.insertBefore(element2, element.getFirstChild().getNextSibling());
     
        // Add a text node in front of the new item element
        element2.getParentNode().insertBefore(doc.createTextNode("B"), element2);
     
     
    This is the resulting XML:
     
        <?xml version="1.0" encoding="UTF-8"?>
        <!--a comment--><root>AB<item/>CD</root>
    et je pense que tu veux ensuite le mettre dans un fichier (JAXP)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Write it out again
          TransformerFactory xformFactory 
           = TransformerFactory.newInstance();
          Transformer idTransform = xformFactory.newTransformer();
          Source input = new DOMSource(document);
          Result output = new StreamResult(new File("monfichier.xml"));
          idTransform.transform(input, output);
    voila !

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    c'est pas tout a fait ça, au fait je voudrais ecrir dans un fichier xml existant,

    je l'ouvre je verifi des balises avec un autre fichier, et j'ajoute des balises dans mon premier fichier, sorte de comparaison entre deux fichier avec possiblité de modifier l'un deux ...

    quoi que ton exemple mais plais aussi, je le garde

    merci

  7. #7
    Membre confirmé
    Avatar de bmoussaud
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 218
    Points : 555
    Points
    555
    Par défaut
    Citation Envoyé par miloud
    c'est pas tout a fait ça, au fait je voudrais ecrir dans un fichier xml existant,
    Il faut faire attention: en XML on fait un différence entre fichier et document XML. Ton but est de modifier un document XML provenant d'un fichier.
    En ecrivant ceci tu as la soliution:
    1/tu parses ton fichier avec un modele DOM
    2/tu modifies le document en parcourant le noeud et et en créant de nouvelle.
    3/tu serialises ton fichier avec JAXP

    Pour ton pb, au lieu de partir d'un document vierge tu le lis avec DOM

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    oui c'est ce que j'ai fait ...

    merciii oups j'ai oublié de mettre resolu desoléééééééééééé

  9. #9
    Membre confirmé
    Avatar de bmoussaud
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 218
    Points : 555
    Points
    555
    Par défaut
    c pas grave

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2002
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 24
    Points : 16
    Points
    16
    Par défaut
    au fait, tu connais personne qui soit administrateur sql serveur ??
    on cherche quel qu'un

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 26/10/2010, 08h54
  2. [Compilation] Ne peut créer le fichier de sortie .dcu
    Par epita2013_supB1 dans le forum Débuter
    Réponses: 2
    Dernier message: 06/01/2009, 15h52
  3. [XML] Quelle est la meilleur technique pour créer un fichier XML? (erreur de caract)
    Par Jonathan.b dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 15/01/2008, 08h19
  4. Est ce qu'on peut créer une DLL avec eClipse ?
    Par Chikh001 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/09/2007, 11h00

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