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 :

Les méthodes startElement et endElement : Parser un XML avec SAX


Sujet :

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

  1. #1
    Nouveau membre du Club
    Inscrit en
    Décembre 2005
    Messages
    73
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 73
    Points : 32
    Points
    32
    Par défaut Les méthodes startElement et endElement : Parser un XML avec SAX
    Bonjour.

    Pourriez-vous, s'il vous plaît, m'expliquer un point sur le parsing xml avec SAX ?
    Lorsqu'on écrit une classe héritant d'un DefaultHandler, par 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
    public class XMLParser extends DefaultHandler{
     
    public void startElement(String uri, String localName,
    			String qName, Attributes attributes) throws SAXException{
    		if(qName.equals("test")){
    			Etc...
    }
     
    public void endElement(String uri, String localName, String qName)
    			throws SAXException{
    		if(qName.equals("test")){
    		Etc...
    }
    Etc...
    Les méthodes startElement, endElement, etc... sont appelées où ?

  2. #2
    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
    C'est le parseur SAX qui s'occupe de les appeler, à chaque fois qu'il lit l'ouverture ou la fermeture d'un élément.

    C'est pour ça qu'il faut étendre ContentHandler pour qu'il fasse quelque chose quand elles sont appelées, puis en filer une instance au parseur SAX, puis dire au parseur SAX de démarrer. Il s'arrêtera quand il aura atteint la fin du fichier.

    D'où l'appellation commune d'API push au lieu de pull : au lieu de prendre l'information, on se la fait enfoncer dans le gosier comme une oie. Et on réagit en fonction de ce qui vient d'être enfoncé, en sachant que la suite sera enfoncée aussi.
    Le programmeur n'a pas le contrôle du flux d'exécution, c'est le parseur qui l'a.

    Voir http://java.developpez.com/faq/xml/?page=sax

Discussions similaires

  1. [SimpleXML] Parser un XML avec SimpleXML_Load_File
    Par mathieu3392 dans le forum Bibliothèques et frameworks
    Réponses: 6
    Dernier message: 12/10/2007, 11h11
  2. parser du xml avec java
    Par 080983 dans le forum Format d'échange (XML, JSON...)
    Réponses: 5
    Dernier message: 30/07/2007, 09h56
  3. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 09h01
  4. [DOM XML] Comment parser du XML avec une version 4.3 ?
    Par ouioui2000 dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 18/10/2005, 15h52

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