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 en fichier XML


Sujet :

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

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut Problème en fichier XML
    Bonjour à tous,

    j'ai fait un programme qui a pour sortie un fichier XML bon il s'exécute
    et tout va bien mais le problème lorsque j'ouvre le fichier il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    La page XML ne peut pas être affichée 
    Impossible d'afficher l'entrée XML en utilisant la feuille de style . Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement. 
     
     
    --------------------------------------------------------------------------------
     
    Le document XML doit contenir un élément de niveau supérieur. Erreur de traitement de la ressource file:///C:/Documents and...
    Donc j'ai exécuté ce code à côté car j'ai cru que le problème est dans 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
     
    public class Main {
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) throws IOException {
            // TODO code application logic here
             FileWriter writer = new FileWriter("C:\\Documents and Settings\\Administrateur\\Bureau\\fiche.xml");
               //writer.write(xmlOutput, 0, xmlOutput.length());
                writer.write( "" );
                writer.flush();
                writer.close();
        }
     
    }
    et toujours le même problème.
    S'il vous plaît aidez moi j'ai pas compris où le problème
    Cordialement

  2. #2
    Membre éclairé Avatar de Balbuzard
    Profil pro
    Inscrit en
    Août 2008
    Messages
    381
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 381
    Par défaut
    Bizzare, j'ai exécuté ton code et il marche chez moi...
    Est-ce que tu utilises ce code pour créer un fichier, ou juste pour en éditer un? Il ne peut pas en créer, juste éditer. Ensuite, tu ne gères pas l'exception IOException, je pense pas que le soucis vienne de là, mais personnellement, j'aurais plutôt tendence à mettre les fonctions pouvant lever cette exception dans un bloc try/catch, comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class Rien {
        public static void main(String[] args){
        	try{
        		FileWriter writer = new FileWriter("/home/Balbuzard/Bureau/rien");
        		//writer.write(xmlOutput, 0, xmlOutput.length());
        		writer.write("ededed");
        		writer.flush();
        		writer.close();
        	}catch(IOException ioe) {ioe.printStackTrace();}
        }
    }
    (J'ai renommé ta classe, changé les chemins, je suis sous Linux)
    Comme ça, tu as un retour de l'erreur qui sera printée dans la sortie standard de java. Dis nous quelle erreur apparait alors, si elle apparait.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par soumti84 Voir le message
    lorsque j'ouvre le fichier il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    La page XML ne peut pas être affichée 
    Impossible d'afficher l'entrée XML en utilisant la feuille de style . Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement. 
    Le document XML doit contenir un élément de niveau supérieur.
    Donc j'ai exécuté ce code à côté car j'ai cru que le problème est dans mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    [...]
    FileWriter writer = new FileWriter("C:\\Documents and Settings\\Administrateur\\Bureau\\fiche.xml");
    writer.write( "" );
    writer.flush();
    writer.close();
    [...]
    Tu n'écris rien dans ton fichier.
    Donc ton fichier est vide.
    Donc ce n'est pas un fichier XML valide puisqu'un XML doit toujours avoir au moins une racine !
    CQFD.

    Essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    [...]
    FileWriter writer = new FileWriter("C:\\Documents and Settings\\Administrateur\\Bureau\\fiche.xml");
    writer.write( "<element_racine/>" );
    writer.flush();
    writer.close();
    [...]

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    Balbuzard: il n'y a aucune erreur affichée


    Astartee: bon ce code marche mais juste je l'ai fait comme essai
    pour cerner la faute lorsque j'ai retourné à l'autre programme en ajoutant
    cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    docXMLString = currDoc.toXml(annotationsToWrite);
                //String xmlOutput = DocumentStaxUtils.toXml(currDoc);
                FileWriter writer = new FileWriter("C:\\Documents and Settings\\Administrateur\\Bureau\\fichier.xml");
               //writer.write(xmlOutput, 0, xmlOutput.length());
                 writer.write( "<element_racine/>");
                writer.write( docXMLString );
                writer.flush();
                writer.close();
    il marche pas il m'affiche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    La page XML ne peut pas être affichée 
    Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement. 
     
     
    --------------------------------------------------------------------------------
     
    Un seul élément de niveau supérieur est autorisé dans un document XML. Erreur de traitement de la ressource file:///C:/Docu...
     
    <element_racine/><Sentence  xmlns:gate="http://www.gate.ac.uk" gate:gateId="59" gate:annotMaxId="60"> ABC
    -----...

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Hum, tu es sûr de savoir ce qu'est un document XML ?
    Lorsque j'ai écrit :
    Citation Envoyé par Astartee Voir le message
    un XML doit toujours avoir au moins une racine !
    c'était pour dire que le fichier ne pouvait pas être vide puisqu'il devait "au moins" contenir la racine.
    Mais pour être à présent plus exacte, un XML doit toujours comporter une et une seule racine.

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    oui c'est sur ça marche avec le fichier vide j'ai ajouté la racine
    mais avec l'autre code non tu vois?

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Je parle bien de ton deuxième "problème".
    Et j'ai bien dit une et une seule racine. Pas deux.

    Là, tu as écrit mon petit élément "<element_racine/>" : à lui tout seul il constitue un document XML.
    Et ensuite tu as continué à écrire dans le fichier... là ça ne va plus ! La balise de <element_racine/> est fermée, le document est terminé, tout ce qui est écrit derrière invalide le format XML...

    Donc si maintenant tu veux écrire ton "vrai" contenu dans ton fichier au lieu de l'élément bidon "<element_racine/>", n'écris pas cet élément.

  8. #8
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    Je l'ai pas écrit et ça marche pas c'est ça mon premier
    problème et les autres juste des tests

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Ce n'est pas très clair ce que tu racontes...


    Citation Envoyé par soumti84 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    docXMLString = currDoc.toXml(annotationsToWrite);
                //String xmlOutput = DocumentStaxUtils.toXml(currDoc);
                FileWriter writer = new FileWriter("C:\\Documents and Settings\\Administrateur\\Bureau\\fichier.xml");
               //writer.write(xmlOutput, 0, xmlOutput.length());
                 writer.write( "<element_racine/>");
                writer.write( docXMLString );
                writer.flush();
                writer.close();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    La page XML ne peut pas être affichée 
    Impossible d'afficher l'entrée XML en utilisant la feuille de style XSL. Corrigez l'erreur, puis cliquez sur le bouton Actualiser ou réessayez ultérieurement. 
    Un seul élément de niveau supérieur est autorisé dans un document XML.
    <element_racine/><Sentence  xmlns:gate="http://www.gate.ac.uk" gate:gateId="59" gate:annotMaxId="60"> ABC
    Là, dans ce post, je vois clairement dans ton code et dans le message d'erreur de ton navigateur que tu as d'abord écrit "<element_racine/>" dans le fichier, puis docXMLString. Ce qui fait donc deux documents XML "à la suite" dans le fichier (en supposant que le deuxième soit valide), ce qui ne peut pas marcher, comme expliqué plus haut.
    Comme tu postais ça ici, j'ai cru que tu voulais une explication


    Maintenant, concernant ton problème original, celui qui t'a poussé à te lancer dans ces petits "tests"... eh bien étant donné que tu n'en dis rien, ma boule de cristal a du mal à voir ce qui ne va pas
    Moi je ne peux faire de commentaires que par rapport à ce que tu postes sur le forum. Dans ton premier exemple, tu avais un fichier vide. Dans ton deuxième exemple, tu avais deux documents à la suite dans le fichier.
    Si tu veux une aide sur d'autres problèmes... bah poste-les

    En attendant, un conseil tout con :
    Tu écris des choses dans un fichier, pas d'erreur levée dans ton code, mais ensuite quand tu essaies de l'ouvrir avec ton navigateur préféré tu as un message t'indiquant que ce n'est pas un XML valide.
    => ouvre-le avec un éditeur de texte normal, et regarde directement ce qui ne va pas...

  10. #10
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    vraiment je suis vraiment très désolé pour ce dérangement.
    Ecoute l'histoire de fichier vide était juste un test donc le problème est:
    voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    // Création du XML avc les annotations récupérées
    		docXMLString = currDoc.toXml(annotationsToWrite);
                //String xmlOutput = DocumentStaxUtils.toXml(currDoc);
                FileWriter writer = new FileWriter("C:\\Documents and Settings\\Administrateur\\Bureau\\fichier.xml");
               //writer.write(xmlOutput, 0, xmlOutput.length());
                 //writer.write( "<element_racine/>");
                writer.write( docXMLString );
                writer.flush();
                writer.close();
    ce code ne marche pas le fichier XML est non valide je sais pas pourquoi
    lorsque j'ai ouvert le fichier avec bloc notes ça va mais j'ai besoin d'un fichier
    XML. J'espère que le problème est clair maintenant

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par soumti84 Voir le message
    le fichier XML est non valide je sais pas pourquoi
    lorsque j'ai ouvert le fichier avec bloc notes ça va
    "ça va" ? tu veux dire que tu ne vois pas où est l'erreur ?
    Pourtant il devrait forcément y en avoir une quelque part
    Si ton fichier n'est pas trop long, tu peux peut-être le poster ici, mais bon tu devrais pouvoir le relire toi-même normalement...

  12. #12
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    le fichier original est très long mais j'ai encore testé sur un qui est moins
    en longueur
    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
     
    <paragraph gate:gateId="0">Installation
    ------------
    </paragraph>
    <paragraph gate:gateId="1">1. Install a Perl interpreter (if you have not already installed one).
       You can download Perl for free at
       http://www.perl.com/pub/language/info/software.html
    </paragraph>
    <paragraph gate:gateId="2">2. Move the TreeTagger directory to the root directory of drive C:.
    </paragraph>
    <paragraph gate:gateId="3">3. Download the PC parameter files for the languages you need, decompress
       them (e.g. using Winzip) and move them to the subdirectory lib
    </paragraph>
    <paragraph gate:gateId="4">4. Add the following line to autoexec.bat (Windows 95/98)
       set PATH=C:\TreeTagger\bin;%PATH%
       or change the corresponding system settings (Windows NT).
    </paragraph>
    <paragraph gate:gateId="5">5. Open a shell and type the command
       set PATH=C:\TreeTagger\bin;%PATH%
    </paragraph>
    <paragraph gate:gateId="6">6. Change to the directory C:\TreeTagger
    </paragraph>
    <paragraph gate:gateId="7">7. Now you can test the tagger, e.g. by analyzing this file with the command
       tag-english INSTALL.txt
    </paragraph>

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    C'est ton fichier en entier ?
    Eh bien le problème est toujours le même : il faut une et une seule racine, sinon ce n'est pas du XML.

  14. #14
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    Oui c'est mon fichier en entier.
    C'est un contenu je l'ai passé pour une sortie XML je t'ai donné le code.

  15. #15
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    En fait j'utilise l'api Gate. En utilisant l'interface tout va bien je récupère
    mon fichier XML mais avec application java toujours il y a problème de
    "Un caractère incorrect a été trouvé dans un contenu de texte."
    Je sais pas où ce caractère

  16. #16
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Eh bien le problème est toujours le même : il faut une et une seule racine, sinon ce n'est pas du XML.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    writer.write( "<element_racine>");
    writer.write( docXMLString );
    writer.write( "</element_racine>");
    writer.flush();

  17. #17
    Membre expérimenté Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Par défaut
    Bon comme cité avant tu dois avoir une racine donc un conteneur pour tout les élément de ton fichier xml.
    En plus je me pose beaucoup de question concernant le contenu de ton fichier xml mais avant toute chose testons le code d'abord.
    Donc on va y aller avec un fichier simple:
    <racine>
    <nom>
    soumti84
    </nom>
    </racine>

  18. #18
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    J'ai essayé mais en vain.
    Le problème un caractère qui n'accepte pas bien que en utilisant le GUI de Gate
    il n'y a pas de problème.

  19. #19
    Membre expérimenté Avatar de jiddou
    Inscrit en
    Août 2007
    Messages
    247
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 247
    Par défaut
    Tu n'es pas le premier à utiliser un fichier xml et tu ne seras pas le dernier sûrement c'est pour dire que ça à marcher pour des gens avant toi donc pourquoi pas toi.s'il te plaît concentres toi sur le problème java et oublies GATE.
    Quand tu dis ça ne marche c'est quoi l'erreur

  20. #20
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 120
    Par défaut
    J'ai essayé ton petit code ça marche.
    Bon à propos de mon fichier: le programme découpe un texte
    en phrases donc le fichier contient les phrases du texte chacune
    avec balise ouvrante et fermante j'en ai besoin pour faire des traitement
    par la suite sur chaque phrase

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Problème chargement fichier XML vers un DataSet
    Par verbal34 dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 11/07/2010, 23h26
  2. Problème avec fichier XML
    Par Invité dans le forum Langage
    Réponses: 1
    Dernier message: 16/06/2009, 09h54
  3. Problème écriture fichier xml
    Par ludo24 dans le forum ASP
    Réponses: 23
    Dernier message: 23/06/2008, 11h48
  4. [C#] Problème chargement fichier xml dans treeview
    Par LE NEINDRE dans le forum Windows Forms
    Réponses: 4
    Dernier message: 23/06/2006, 14h10
  5. [SAX] Problème lecture fichier xml
    Par BernardT dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 07/07/2005, 18h11

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