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

XML Discussion :

[Xerces] Erreur de compilation avec SAX


Sujet :

XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut [Xerces] Erreur de compilation avec SAX
    Bonjour à tous,

    Je suis en train de développer un parser XML pour mon application en SAX avec Xerces 3.1 sur Ubuntu. Et je n'arrive pas à parser les attributs de mes tags.

    En effet, quand je compile, le compilateur me dit que j'utilise mal l'API. Mais le code qui parcourt la liste d'attribut de chaque tag vient de la doc API !
    Voici l'erreur du compilateur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    src/MySAXHandler.cpp:16:39: erreur: invalid use of incomplete type ‘struct xercesc_3_1::AttributeList’
    /usr/include/xercesc/sax/DocumentHandler.hpp:29:7: erreur: forward declaration of ‘struct xercesc_3_1::AttributeList’
    et voici le header du handler :
    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
    #ifndef MYSAXHANDLER_HPP_
    #define MYSAXHANDLER_HPP_
     
    #include <xercesc/sax/HandlerBase.hpp>
     
    using namespace xercesc;
     
    class MySAXHandler : public HandlerBase {
    public:
        MySAXHandler();
        void startElement(const XMLCh* const, AttributeList&);
        void fatalError(const SAXParseException&);
    };
     
    #endif /* MYSAXHANDLER_HPP_ */
    et le code du Handler :
    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
    #include "MySAXHandler.hpp"
    #include <iostream>
    
    using namespace std;
    
    MySAXHandler::MySAXHandler()
    {
    }
    
    void MySAXHandler::startElement(const XMLCh* const name,
                               AttributeList& attributes)
    {
        char* message = XMLString::transcode(name);
        cout << "I saw element: "<< message << endl;
        XMLString::release(&message);
            XMLSize_t attributeCount = attributes.getLength();
            char* type = NULL;
            for (XMLSize_t i = 0; i < attributeCount; i++){
                    type = XMLString::transcode(attributes.getName(i));
                    cout << "Type: "<< type << endl;
            }
    }
    
    void MySAXHandler::fatalError(const SAXParseException& exception)
    {
        char* message = XMLString::transcode(exception.getMessage());
        cout << "Fatal Error: " << message
             << " at line: " << exception.getLineNumber()
             << endl;
        XMLString::release(&message);
    }
    Je ne vois pas comment je peux m'en sortir.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut
    Mon erreur venait d'un oubli du include de la classe AttributeList
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <xercesc/sax/AttributeList.hpp>

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

Discussions similaires

  1. Erreur de compile avec xerces c++
    Par scandinave dans le forum Bibliothèques
    Réponses: 0
    Dernier message: 26/09/2013, 16h31
  2. [Xerces]Erreur de compilation avec .hpp xerces
    Par Nyko17 dans le forum XML
    Réponses: 5
    Dernier message: 13/04/2008, 23h04
  3. Erreur de compil avec Outp
    Par sixon dans le forum C++
    Réponses: 2
    Dernier message: 27/02/2006, 15h01
  4. Erreur de compilation avec SWITCH et CASE
    Par barbarello dans le forum C++
    Réponses: 4
    Dernier message: 21/01/2006, 21h47
  5. [FreePascal]Erreur de compilation avec Dev-Pascal
    Par youngeikichi dans le forum Free Pascal
    Réponses: 3
    Dernier message: 17/02/2005, 14h22

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