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 :

[libxml] utilisation pour parser xml


Sujet :

XML

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Points : 82
    Points
    82
    Par défaut [libxml] utilisation pour parser xml
    comment avez vous intégrer cette libraire [libxml2]?
    je 'ai installer (rpm) car je suis sur une fedo
    et netbeans (mon éditeur c) ne la reconnait pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    gcc -lpthread -D_REENTRANT   -c -g -o build/Debug/GNU-Linux-x86/dom_parcours.o dom_parcours.c
    dom_parcours.c:3:25: erreur: libxml/tree.h : Aucun fichier ou répertoire de ce type
    dom_parcours.c:4:27: erreur: libxml/parser.h : Aucun fichier ou répertoire de ce type
    make: *** [build/Debug/GNU-Linux-x86/dom_parcours.o] Erreur 1
    merci

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Je ne sais pas quelle Fedora tu utilises et quel RPM tu as installé mais il n'est pas impossible que les headers de la librairie libxml2 (.../libxml/*) soient installés dans /usr/include/libxml2/.

    Tu dois donc dire à Netbeans d'ajouter /usr/include/libxml2 au chemin des include, ce qui doit ajouter -I /usr/include/libxml2 à ta précédente ligne de commande.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Points : 82
    Points
    82
    Par défaut
    j'ai fédo , et j'ai fais exactement la même chose que toi mais rien a faire !
    Netbeans a t'il une particularité?

    j'ai ajouté -l/usr/include/libxml2/libxml/ aux options de gcc
    et dans mon programme j'ai mis:
    #include <tree.h>
    #include <parser.h>

    avez-vous une idée ?

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Non, si tu veux utiliser la librairie xml, tu dois inclure <libxml/tree.h> et <libxml/parser.h> et tu dois passer comme option à gcc -I/usr/include/libxml2 seulement.

    As-tu vérifié que les headers étaient bien présents dans le répertoire /usr/include/libxml2/libxml/ ?

    Tu comprendras pourquoi il faut ajouter libxml avant d'inclure un header de la librairie en regardant l'entête d'un de ces fichiers.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Points : 82
    Points
    82
    Par défaut
    Merci de ton aide, sympa !
    J'ai plus l'erreur précédente, il compile bien, mais a l'éxécusion:
    undefined reference to `xmlGetNodePath'
    undefined reference to `xmlNodeGetContent'
    undefined reference to `xmlFree'

    un problème de link ?

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Points : 82
    Points
    82
    Par défaut
    tu connais netbeans ??

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Running "/usr/bin/make  -f Makefile CONF=Debug" in /home/user/serveur_tcpip
     
    /usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
    make[1]: entrant dans le répertoire « /home/user/serveur_tcpip »
    mkdir -p dist/Debug/GNU-Linux-x86
    gcc -lpthread -D_REENTRANT -I/usr/include/libxml2    -o dist/Debug/GNU-Linux-x86/serveur_tcpip build/Debug/GNU-Linux-x86/modbus.o build/Debug/GNU-Linux-x86/dom_parcours.o build/Debug/GNU-Linux-x86/main.o -lparser.h -ltree.h -dynamic -static 
    /usr/bin/ld: cannot find -lparser.h
    collect2: ld a retourné 1 code d'état d'exécution
    make[1]: *** [dist/Debug/GNU-Linux-x86/serveur_tcpip] Erreur 1
    make[1]: quittant le répertoire « /home/user/serveur_tcpip »
    make: *** [.build-impl] Erreur 2
     
    Build failed. Exit value 2.
    tu sais pourquoi il me sort çà ?

    çà fait bcp de question

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    Ensuite, tu dois indiquer à Netbeans de linker ton programme contre la librairie libxml2.
    Au link, l'option -lxml2 doit être ajoutée.

    Par contre, je suis un peu étonné par xmlFree. C'est censé être une macro si je me rappelle bien. Tu n'aurais pas des warnings à la compilation ?

    Es-tu sûr aussi que tu dois utiliser xmlFree() ? A la vue des headers que tu inclus, je me demande si xmlFreeDoc() ne serait pas mieux. Tu dois parser un fichier xml et parcourir un arbre DOM, non ?

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    C'est bien, au moins tu as trouvé l'option pour linker.
    Supprime -lparser.h et -ltree.h. Ca n'a rien à faire ici.
    Et mets -lxml2 à la place.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Points : 82
    Points
    82
    Par défaut
    tout marche bien
    merci de ton aide !!!
    c'est super sympa

    ____________________

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Points : 82
    Points
    82
    Par défaut
    J'en profite d'avoir un connaissaeur de netbeans C:
    il fait la différence entre SetActiveConfiguration : debug et release (je suis en debug)
    Mes include reste en rouge pkoi ?

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    865
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 865
    Points : 1 069
    Points
    1 069
    Par défaut
    En fait, je ne connais absolument pas Netbeans mais la ligne de commande résultante doit être la même pour tous. Tu as par toi-même trouvé comment configurer les options de Netbeans.

    Donc, pour ta question, je ne vais pas pouvoir t'aider mais il doit exister un forum propre aux IDEs.

    Bonne journée.

    P.S. : Si tu n'as plus de problème avec la libxml2, tu peux marquer "résolu".

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 107
    Points : 82
    Points
    82
    Par défaut
    ok
    Merci
    bonne journée

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

Discussions similaires

  1. Problème pour parser un fchiera XML avec LibXML
    Par azertyter dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2014, 09h34
  2. Aide Pour Parser XML JAVA
    Par linuxien_62 dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 23/10/2013, 14h09
  3. quel outils pour utiliser php5 pour parser du xml
    Par student2012 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 10/05/2012, 10h00
  4. Votre avis: pour parser XML, la librarie SAX, Dom, JDom ou d'autre librairie
    Par jean1979 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 21/10/2011, 09h36

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