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 à l'essai
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Points : 15
    Points
    15
    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
    En attente de confirmation mail
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Octobre 2010
    Messages
    501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2010
    Messages : 501
    Points : 1 060
    Points
    1 060
    Par défaut
    Bonsoir,

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

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 33
    Points : 15
    Points
    15
    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 habitué
    Homme Profil pro
    SAQ
    Inscrit en
    Novembre 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : SAQ
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2005
    Messages : 167
    Points : 194
    Points
    194

  5. #5
    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
    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 ?

  6. #6
    Membre habitué
    Homme Profil pro
    SAQ
    Inscrit en
    Novembre 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : SAQ
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2005
    Messages : 167
    Points : 194
    Points
    194
    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 habitué
    Homme Profil pro
    SAQ
    Inscrit en
    Novembre 2005
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : SAQ
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2005
    Messages : 167
    Points : 194
    Points
    194
    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