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 :

Problème d'écriture d'un fichier XML


Sujet :

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

  1. #1
    Membre actif
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Par défaut Problème d'écriture d'un fichier XML
    bonjour,j'utilise netbeans,
    j'ai ce code en java, qui lis un dossier et prends les noms de fichiers et les mettre dans un fichier XML tot.xml , le probleme c'est que je veux ce fichier commence par <fichiers> et se termine par </fichiers>
    par défaut le fichier contient:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8"?>
    <fichiers></fichiers>
    mais la sortie après l'exécution du code est:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="UTF-8"?>
    <fichiers/>
    <fichier id="3">booksddd.xml</fichier>
    <fichier id="2">books2.xml</fichier>
    <fichier id="1">books.xml</fichier>

    voila le 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
     
    package test;
     
    import nux.xom.io.*;
    import nux.xom.xquery.*;
    import nux.xom.*;
    import nu.xom.*;
    import nu.xom.Document;
    import java.io.*;
    import java.util.*;
    //import org.jdom.*;
    //import org.jdom.output.*;
     
     
    public class TestApp {
     
     
     public TestApp() {
        }
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
        try{
     
     
            File repertoire = new File("C:\\Users\\admin\\Documents\\NetBeansProjects\\test\\coll\\");
     
        Document  doctot=new Builder().build(new File ("C:\\Users\\admin\\Documents\\NetBeansProjects\\test\\tot.xml"));
        int i=0;
     OutputStream out=new FileOutputStream ("C:\\Users\\admin\\Documents\\NetBeansProjects\\test\\tot.xml");
        Serializer ser=new Serializer(out);
     
     
     
        Element ras = new Element("fichiers");
      try{ ser.writeStartTag(ras);}catch (Exception e){System.out.println(e);}
        for ( File file : repertoire.listFiles()) {
      i=i+1;
            // Traiter fichier
        String p= file.getName();
        String x="fichier";
        Element racine = new Element(x);
     
     
       racine.addAttribute(new Attribute("id", String.valueOf(i)));
       doctot.fastInsertChild(racine, 1);
       racine.appendChild(p);
            }
        ser.write(doctot);
     
        out.close();
     
     
    }catch(Exception e){System.out.println(e.getMessage());}
     
                }
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Peux-tu préciser à quoi tu veux que le fichier résultat ressemble ?

  3. #3
    Membre actif
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Par défaut
    voila comment doit s'afficher, merci

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="UTF-8"?>
    <fichiers>
    <fichier id="3">booksddd.xml</fichier>
    <fichier id="2">books2.xml</fichier>
    <fichier id="1">books.xml</fichier>
    </fichiers>

  4. #4
    Membre très actif
    Homme Profil pro
    SAQ
    Inscrit en
    Novembre 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : SAQ
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2005
    Messages : 167

  5. #5
    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
    Plutôt que de créer une nouvelle racine à chaque fois, tu devrais insérer les éléments <fichier> comme enfants de l'élément <fichiers>, contenu dans ta variable nommée ras.
    ... Et c'est quand même pas très compliqué à imaginer, je pense.

    Citation Envoyé par laurent_m
    Regarde ceci
    C'est quoi le rapport avec les DTD et XSD ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre très actif
    Homme Profil pro
    SAQ
    Inscrit en
    Novembre 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : SAQ
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2005
    Messages : 167
    Par défaut
    Le rapport est que avec le DTD tu peux définir une structure pour être sûr que le XML donne le résultat voulu

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <!--
    On définit la racine comme étant une liste contenant 
     plusieurs fichiers
    -->
    <!ELEMENT Fichiers (Fichier)*>
     
     
    <!ELEMENT Fichier (#PCDATA)>
    <!ATTLIST Fichier
        id CDATA 
      >

  7. #7
    Membre très actif
    Homme Profil pro
    SAQ
    Inscrit en
    Novembre 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Canada

    Informations professionnelles :
    Activité : SAQ
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2005
    Messages : 167
    Par défaut
    en fait, je viens de remarquer que ma référence aux DTD et XSD n'avait pas vraiment de lien avec la question... cependant ça reste une bonne pratique, selon moi, de définir la grammaire de donnée XML... Encore selon moi, ceci aide (je ne dis pas assurer ) la cohérence et consistance de données applicatives

    Cela étant dit thelvin a raison... c'est trivial comme question... il n'y a toutefois pas de questions idiotes... que des réponses irreffléchies.. ou de recherche non faite

    Si tu as d'autres questions.. on est tous là pour ça


Discussions similaires

  1. [DOM] Problème de saut de ligne à l'écriture d'un fichier xml
    Par Sogekink dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 18/07/2007, 15h39
  2. Réponses: 3
    Dernier message: 28/02/2006, 12h41
  3. [PERL] Problème lecture/écriture dans un fichier
    Par LE NEINDRE dans le forum Langage
    Réponses: 4
    Dernier message: 17/08/2005, 13h15
  4. Problème d'écriture dans un fichier xml
    Par vanoou dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/07/2005, 02h28
  5. Réponses: 2
    Dernier message: 01/06/2004, 12h47

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