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 :

Erreur "org.xml.sax.SAXParseException Content is not allowed in prolog." [SAX]


Sujet :

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

  1. #1
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Par défaut Erreur "org.xml.sax.SAXParseException Content is not allowed in prolog."
    Bonjour à tous,

    Donc comme vous l'imaginez, j'essaye de parser un fichier XGMML qui est un format XML de description de graphe. Le soucis est que lorsque je parse, j'obtiens cette magnifique erreur qui est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    [Fatal Error] :1:1: Content is not allowed in prolog.
    org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
    	at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:253)
    	at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:288)
    ...
    Comme vous vous en doutez bien, j'ai déjà cherché sur internet et j'ai testé toutes les solutions possible et inimaginable tel que
    - Remplacer le "UTF-8" de la balise d'en-tête par "utf-8" ou "UTF-16"
    - Vérifier si j'ai pas un caractère invisible au début de mon fichier :



    Donc il semblerait que ce ne soit pas sa

    Si quelqu'un a une idée, je suis preneur !
    Merci de vos réponses.

    Bonne soirée

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 577
    Par défaut
    Deux idées me viennent à l'esprit :
    - le fichier que tu parses n'est pas celui que tu crois (notamment pas celui que tu nous montres.)
    - tu parses ce fichier en lui imposant un charset, qui se trouve n'avoir rien à voir avec son charset réél. Genre utf-16 par exemple.

    En tout cas je vois rien de choquant. Le prologue est constitué de l'éventuelle déclaration XML et de l'éventuel Doctype, séparés d'éventuel whitespace et processing-instruction.
    Dans le cas présent il y a une déclaration XML, pas de Doctype, un whitespace de fin de ligne, et là le premier élément commence. Aucune erreur visible dans le prologue.
    Tu devrais écrire un tout petit programme qui ne fait rien d'autre que charger un fichier XML, et lui donner ce même fichier.
    Pour contrôle, essaie de lui donner ce fichier-là :

    <root/> est trop simple pour échouer, s'il ne marche pas, c'est que ton programme ne charge pas le fichier que tu crois.
    Si <root/> et ton fichier sont correctement chargés par un programme court qui ne fait que ça, mais pas par ton programme complet, c'est que le programme complet ne fait pas ce que tu crois. Dans ce cas il faut nous montrer la partie en faute.

    Note : c'est bien de nous montrer la capture d'écran de l'éditeur héxa. mais il fallait aussi nous copier/coller le début du fichier. Tu te figurais pas sérieusement qu'on allait se palucher ça à la main ? Et chercher des caractères bizarres, on va pas le faire avec les yeux, on va le programmer, évidemment.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Par défaut
    OKay je vais essayer sa au boulot mardi, merci

    Pour ce qui est de l'héditeur hexa, je me suis dit que vu l'erreur et ce que j'ai lu sur internet, si il devait y avoir un caractère louche, ce serait juste avant la balise <?xml et donc ce screen du début de fichier serait suffisant pour repérer le/les caractères louches qui apparaitraient à droite sur ce screen si il y en avait.

  4. #4
    Membre actif
    Inscrit en
    Décembre 2009
    Messages
    95
    Détails du profil
    Informations forums :
    Inscription : Décembre 2009
    Messages : 95
    Par défaut
    Effectivement, ce petit test m'a permis de constater que ce n'était pas le fichier qui était en cause mais le code, la construction de mon Document étant en cause, il fallait donc faire comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dom = db.parse(new File(xgmml));
    Alors que j'étais partis dans un InputSource au lieu d'un File pour une raison x ou y, je devais être fatigué xD

    Encore une fois merci.

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

Discussions similaires

  1. [SAX] org.xml.sax.SAXParseException probleme avec &nbsp
    Par rasenganguy dans le forum Format d'échange (XML, JSON...)
    Réponses: 14
    Dernier message: 10/05/2012, 09h54
  2. Erreur dans JSP : org.xml.sax.SAXParseException
    Par MetalGearBe dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 12/02/2012, 20h58
  3. XMLDecoder : org.xml.sax.SAXParseException
    Par benkil dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 16/03/2011, 08h56
  4. [Xerces] SAX Exception Content is not allowed in prolog
    Par be_tnt dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 18/10/2006, 08h10
  5. [netbeans 5.0] Probleme : org.xml.sax.SAXParseException
    Par romarseille dans le forum NetBeans
    Réponses: 4
    Dernier message: 12/06/2006, 11h35

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