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 :

Lecture fichier XML - Enregistrement Characters [SAX]


Sujet :

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

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Lecture fichier XML - Enregistrement Characters
    Bonjour,

    Je me retrouve face a un petit probleme...
    Je fait appel a une lecture de fichier XML (via sax).
    (bon retour dans la console)

    chaque fois qu'il rencontre un element je fait un test (if) pour enregistrer la valeur dans une variable en fonction de la balise.

    Le test fonctionne correctement et la valeur est enregistrer dans la variable voulu, seulement des le prochain element cette variable redeviens vide (null).

    Ce qui fait qu'a la fin de l'analyse du fichier toute mes variable sont vide.

    Avez vous une idée du probleme ?

    Je me suis basé sur ce code pour faire l'analyse. J'y ai juste ajouté les tests pour l'enregistrement des variables.

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
     Public class AnalyseSAX extends DefaultHandler {
        //methode principale
        public static void main (String args[]) throws IOException {
            //Si l'utilisateur a oublié de passer
            //le nom du fichier XML en parametre => erreur
            if (args.length != 1) {
                System.err.println("Usage: AnalyseSAX fichierSourceXML");
                System.exit (1);
            }
            //on lance l'analyseur avec le fichier XML en parametre
            DefaultHandler handler = new AnalyseSAX();
            SAXParserFactory factory = SAXParserFactory.newInstance();
            try {
                SAXParser saxParser = factory.newSAXParser();
                saxParser.parse( new File(args[0]), handler );
            } catch (Throwable t) {
                //Si on a une erreur pendant l'analyse
                t.printStackTrace ();
                System.exit (1);
            }
            System.exit (0);
        }//fin du main
     
        //Les methodes qui suivent sont appelées
        //automatiquement par l'analyseur
        //lorsqu'un événement est détecté
        //dans le fichier XML.
        public void error(SAXParseException e) throws SAXParseException{
            throw e;
        }
     
        public void startDocument () throws SAXException {
            System.out.println("début du document");
        }
     
        public void endDocument () throws SAXException {
            System.out.println("fin du document");
        }
     
        public void startElement (String namespaceURI,String simpleName,String qualifiedName,Attributes attrs) throws SAXException {
            String nomElement = simpleName;
            if (nomElement.equals("")) nomElement = qualifiedName;
            System.out.println("startElement : "+ nomElement);
        }
     
        public void endElement (String namespaceURI,String simpleName,String qualifiedName) throws SAXException {
            String nomElement = simpleName;
            if (nomElement.equals("")){
                nomElement = qualifiedName;
            }
            System.out.println("endElement : "+ nomElement);
        }
     
        public void characters (char buf [], int offset, int len)
            throws SAXException {
            String s = new String(buf, offset,len);
            System.out.println (s);
        }
     
     
    }//fin de la classe

  2. #2
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai résolut une partiedu probleme .

    Il prenait en compte les blancs et me remplacait donc la valeur.. le fourbe...
    un test de plus et ma variable garde ca valeur a la fin de l'analyse SAX.

    Cependant je n'arrive pas a la recuperer a partir d'une autre classe pour le moment...

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Résolu .
    Je passe par un fichier temporaire... peu etre pas propre mais ca me suffit

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

Discussions similaires

  1. lecture fichier XML
    Par bhahmed dans le forum C++Builder
    Réponses: 5
    Dernier message: 18/09/2006, 09h40
  2. [C#-XML] - Problème de lecture fichier XML
    Par Gloups dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/08/2006, 01h40
  3. Lecture fichier xml aux caracteres accentués
    Par LFC dans le forum Modules
    Réponses: 2
    Dernier message: 13/02/2006, 20h45
  4. Réponses: 3
    Dernier message: 09/12/2005, 18h42
  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, 19h11

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