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 :

probleme du parsing avec SAX


Sujet :

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

  1. #1
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut probleme du parsing avec SAX
    bonjour,
    je developpe un package pour parser un fichier XML avec SAX, en faite quand j'execute ma classe , tout se passe bien je retrouve le resultat voulu, sauf que quand j'essai de faire la meme chose en l appelant d'une autre class (en utilisant mon package) j' ai le message d 'erreur suivant:


    java.lang.NullPointerException
    at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:524)
    at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
    at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
    at org.xml.sax.helpers.XMLReaderAdapter.parse(XMLReaderAdapter.java:225)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:364)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:305)
    at newpackage.core.main(core.java:29)

    est ce que vous avez une idee de ce que peut être le probleme ?

    merci.

  2. #2
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    As tu bien instancié ton objet avant d'appeler ses méthode à partir d'une autre classe?

  3. #3
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    Citation Envoyé par zorm Voir le message
    As tu bien instancié ton objet avant d'appeler ses méthode à partir d'une autre classe?
    merci pour ton interet, en faite je crois que je l instancie correctement;
    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
    public class core {
        protected static final String XML_FILE_NAME = "C://hh.xml";
        public static void main(String argv []) {
         SAXParserFactory factory = SAXParserFactory.newInstance();
            try {
                // Parse the input
                SAXParser saxParser = factory.newSAXParser();
                saxParser.parse( new File(XML_FILE_NAME), new BooksLibrary() );
     
            } catch (Throwable t) {
                t.printStackTrace ();
            }
            System.exit (0);
     
     
        }
     
    }
    je ne sais pas si tu veux que je poste la classe de mon package aussi?

  4. #4
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    On va explorer plusieurs pistes parce que là, je vois pas .

    Citation Envoyé par fibi007 Voir le message
    bonjour,
    je developpe un package pr parser un fichier XML avec SAX, enfaite qd j'execute ma classe , tou spasse bien je retrouve le resultat voulu, sauf que qd j'essai de faire la meme chose en l applant d'une autre class (en utilisant mon package
    Qu'elle est la classe que tu exécutes et qui fonctionne bien tant que tu l'appelles pas d'une autre classe? Qu'as tu fait pour la tester et qu'elle fonctionne?
    Je suppose que ta classe BooksLibrary hérite de DefaultHandler, cette classe marche t elle bien sur ton fichier XML ou tu n'as pas encore pu la tester?

    Au fait, il y a dans l'éditeur la possibilité de mettre les balises [code] pour copier tes sources. Ca permet de faire de la coloration syntaxique.
    Exemple:
    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
     
    public class core {
        protected static final String XML_FILE_NAME = "C://hh.xml";
        public static void main(String argv []) {
         SAXParserFactory factory = SAXParserFactory.newInstance();
            try {
                // Parse the input
                SAXParser saxParser = factory.newSAXParser();
                saxParser.parse( new File(XML_FILE_NAME), new BooksLibrary() );
     
            } catch (Throwable t) {
                t.printStackTrace ();
            }
            System.exit (0);
     
     
        }
     
    }

  5. #5
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    oui je pense que y as 99% de chance pour que ca soit mal instancier ...

    la classe core c'est celle qui marche quand tu la met dans un main ....?

    par contre si tu l appele depuis une autre classe ca plante ?
    je ne vois pas de constructeur de la classe core ... y en a t il un ?
    l appele tu ?

  6. #6
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    merci de vos reponses,
    j'ai du juste faire un peu de menage dans mon code, et il n'y a plus de probleme.


    par contre j'ai une autre question, est ce que vous savez comment on peut parser une chaine de caractere qu'on donne comme argument au parseur ?

  7. #7
    Membre émérite Avatar de zorm
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Par défaut
    Quel parseur?
    Pour analyser les chaînes de caractères, les expressions régulières sont très puissantes pour ça! Il y a un tutos sur le site qui explique les regexs en Java

  8. #8
    Membre habitué
    Inscrit en
    Avril 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 11
    Par défaut
    Citation Envoyé par zorm Voir le message
    Quel parseur?
    Pour analyser les chaînes de caractères, les expressions régulières sont très puissantes pour ça! Il y a un tutos sur le site qui explique les regexs en Java

    bonjour,

    en faite je recois une chaine de caractere a partir de la base de donnees qui a un formatage XML ; j'ai pu creer un fichier xml a partir de ma chaine pour la parser par la suite, mais cette solution n'es pas possible vu qu'il y aura plusieurs utilisateur qui voudrons faire ce traitement (parser), et il y aura un probleme de nommage.
    vous avez une idee de comment on peut parser une chaine de caractere a la place d'un fichier ?

Discussions similaires

  1. [SAX] Problème de parsing avec SAX
    Par blueLight dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 28/08/2009, 23h17
  2. [SAX] Recuperer le resultat d"un parsing XML avec SAX
    Par chouxe dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 19/12/2006, 15h48
  3. [SAX] Erreur de parsing XML avec SAX
    Par philobedo dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 02/08/2006, 13h49
  4. [Xerces] probleme avec SAX
    Par hitchie dans le forum MFC
    Réponses: 9
    Dernier message: 03/03/2006, 14h40
  5. [SAX] parsing avec sax
    Par jdar dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 03/12/2004, 21h34

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