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 :

Can't create default XMLReader, is property org.xml.sax.driver set ?


Sujet :

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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 90
    Par défaut Can't create default XMLReader, is property org.xml.sax.driver set ?
    Bonjour, cela fait plusieurs fois que je tombe sur cette erreur et je me casse la tête dessus depuis pas mal de temps.
    J'ai vu que je pouvais la contourner en donnant un parser lors de la création du XMLReader du genre "org.apache.xerces.parsers.SAXParser".
    Seul problème, je n'ai pas ce parser ni aucun autre et je ne peux pas le mettre, je veux juste créer un parser par défaut en ne mettant aucun paramètre. Lorsque je fais ca, j'obtiens l'erreur que j'ai mis en titre, à savoir :

    "Can't create default XMLReader, is property org.xml.sax.driver set ?"

    J'ai fais des recherches et personnes ne dit quoi faire exactement, je ne comprends pas ce que ca représente, ce n'est pas une classe, c'est tout ce que je sais.

    Si quelqu'un pouvait m'aider en me disant comment faire pour lui donner ce qu'il demande ou même juste ce que représente org.xml.sax.driver ?

    Voici un peu de mon code, l'instanciation du parser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    XMLReader handler = XMLReaderFactory.createXMLReader(); // "org.apache.xerces.parsers.SAXParser"
    handler.setContentHandler(parser);
    handler.parse("xmltest.xml");
    Merci beaucoup.

    Cordialement.

  2. #2
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Peut-on avoir ton code ainsi que les messages d'erreur?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 90
    Par défaut
    Bonjour, merci de ton aide.

    J'utilise le parser SAX.

    Les import :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import org.xml.sax.SAXException;
    import org.xml.sax.XMLReader;
    import org.xml.sax.helpers.XMLReaderFactory;
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    XMLReader handler = XMLReaderFactory.createXMLReader();
    handler.setContentHandler(parser);
    handler.parse("xmltest.xml");
    parser est mon objet qui étend "DefaultHandler"

    et le code d'erreur se situe sur la ligne XMLReader handler = XMLReaderFactory.createXMLReader(); et c'est le titre de mon sujet :

    Can't create default XMLReader, is property org.xml.sax.driver set ?

    Merci.

  4. #4
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    - On a besoine les messages d'erreur de Java (original)
    - Le code complet si c'est possible. On n'a pas une boule de crystal pour ca.

    En attendant, la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    XMLReader handler = XMLReaderFactory.createXMLReader();
    n'a aucune erreur. J'ai insere dans mon programme pour le test et il termine correctement

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 90
    Par défaut
    C'est ca le code d'erreur, les lignes d'après sont les lignes de localisation de l'erreur qui n'ont pas d'intérêt. L'exception qui donne cette erreur est "SAXException". De plus il est peut être utile de souligner que je travaille avec le JDK 1.31.

    Je ne comprends pas pourquoi toi cela fonctionne, tu as peut être une bibliothèque d'installée dont il se sert.

    Mon programme est fait pour fonctionner dans un environnement où il n'y a que le jdk 1.31, les bibliothèques de sax sont dans mon .jar :

    org.xml.sax
    org.xml.sax.ext
    org.xml.sax.helpers


    Main.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public static void main(String[] args)
    {
       Parser parser = new Parser();
       try {
          XMLReader handler = XMLReaderFactory.createXMLReader();
          handler.setContentHandler(parser);
          handler.parse("xmltest.xml", parser);
       } catch (SAXException e) {
    	e.printStackTrace();
       } catch (IOException e) {
    	e.printStackTrace();
       }
    }
    Parser.java

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    import org.xml.sax.helpers.DefaultHandler;
     
    public class Parser extends DefaultHandler {
        ... Toutes les méthodes nécessaires pour hériter de DefaultHandler sans aucun traitement à l'intérieur...
    }

  6. #6
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    - Java 1.3.1? On est en 1.5. ou 1.6, il faudrait passer en 1.4 ou 1.5 pour avoir benefie les nouveautes + corrections de bugs.

    - Mon environment est 1.5.x avec Sax 2.0.1


    Maintenant, d'apres le message
    "Can't create default XMLReader, is property org.xml.sax.driver set ?"
    Il parait qu'il demande le property pour org.xml.saz.driver soit initialisee.
    Il faut que tu regardes dans les doc de sax correspondant a ton jdk 1.3.x


    C'est difficile de migrer ton java vers une version plus recente?

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. XMLDecoder : org.xml.sax.SAXParseException
    Par benkil dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 16/03/2011, 08h56
  3. [XSD] Problème de XML validation par fichier XSD:org.xml.sax.SAXNotRecognizedException
    Par bareillesj dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 23/04/2007, 14h39
  4. [org.xml.sax.ErrorHandler] Empecher les messages automatiques
    Par Emplyst dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 25/07/2006, 21h03
  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