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

 C Discussion :

Parseur en C Sax


Sujet :

C

  1. #21
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par ririch Voir le message
    Donc si je bosse sur le bureau je vais mettre :

    ./nouveparser /Desktop/projet.xml ?

    Oui

  2. #22
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    Ba crotte !!
    Bon je te montre mon dossier "Projet" ... J'ai bien mon programme "nouveparser "
    an@an-laptop:~/Projet$ ls
    autre nouveparser.c
    nouveparser projet.dtd projet.xml

    Et la je te montre 4 tentatives : ECHEC TOTAL !!
    an@an-laptop:~/Projet$ ./nouveparser /Projet/projet.xml
    Usage : expat <chemin fichier>an@an-laptop:~/Projet$

    an@an-laptop:~/Projet$ ./nouveparser /Projet/projet
    Usage : expat <chemin fichier>an@an-laptop:~/Projet$

    an@andrieux-laptop:~/Projet$ ./nouveparser ~/Projet/projet
    Usage : expat <chemin fichier>an@an-laptop:~/Projet$

    an@andrieux-laptop:~/Projet$ ./nouveparser ~/Projet/projet.xml
    Usage : expat <chemin fichier>an@an-laptop:~/Projet$


    Ce que je trouve bizarre, c'est que je travaille deja dans Projet .. Je devais mettre en chemin juste "projet.xml" ...
    D'ailleur je mets l'extension de mon fichier a parser ou pas ?

    Merci de tes reponses

  3. #23
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par ririch Voir le message
    Ba crotte !!
    Bon je te montre mon dossier "Projet" ... J'ai bien mon programme "nouveparser "
    an@an-laptop:~/Projet$ ls
    autre nouveparser.c
    nouveparser projet.dtd projet.xml

    Et la je te montre 4 tentatives : ECHEC TOTAL !!
    an@an-laptop:~/Projet$ ./nouveparser /Projet/projet.xml
    Usage : expat <chemin fichier>an@an-laptop:~/Projet$

    an@an-laptop:~/Projet$ ./nouveparser /Projet/projet
    Usage : expat <chemin fichier>an@an-laptop:~/Projet$

    an@andrieux-laptop:~/Projet$ ./nouveparser ~/Projet/projet
    Usage : expat <chemin fichier>an@an-laptop:~/Projet$

    an@andrieux-laptop:~/Projet$ ./nouveparser ~/Projet/projet.xml
    Usage : expat <chemin fichier>an@an-laptop:~/Projet$


    Ce que je trouve bizarre, c'est que je travaille deja dans Projet .. Je devais mettre en chemin juste "projet.xml" ...
    D'ailleur je mets l'extension de mon fichier a parser ou pas ?

    Merci de tes reponses
    Dans le code de la où il y'a argc != 1, mets 2 et ca devrait marcher.

  4. #24
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    Je crois que c'est perdu d'avance avec moi ...
    Ca ne marche pas avec 1 ni avec 2

  5. #25
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    erreur de débutant j'avais pas compiler ...
    Merci infiniment..
    J'aimerais qu'on laisse ce poste ouvert si j'ai des questions sur le code maintenant.

  6. #26
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par ririch Voir le message
    erreur de débutant j'avais pas compiler ...
    Merci infiniment..
    J'aimerais qu'on laisse ce poste ouvert si j'ai des questions sur le code maintenant.
    Ca marche ? Montre quoi l'affichage stp?

  7. #27
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    Petit souci :
    an@an-laptop:~/Projet$ ./nouveparser ./projet.xml
    [configuration]={}
    [protocole]={nom = ospf, }
    [connexion]={type = filaire, }
    [routeurs]={nbr = 6, }
    [routeur]={id = A, alias = tata, }
    [routeur]={id = B, alias = tete, }
    [routeur]={id = C, alias = titi, }
    [routeur]={id = D, alias = toto, }
    [routeur]={id = E, alias = tutu, }
    [routeur]={id = F, alias = tyty, }
    [liens]={nbl = 5, }
    [lien]={src = A, dst = B, cout = 3, }
    [lien]={src = A, dst = C, cout = 4, }
    [lien]={src = C, dst = D, cout = 5, }
    [lien]={src = D, dst = E, cout = 6, }
    [lien]={src = E, dst = F, cout = 7, }
    Error at line 24:
    parsing finished
    Mon fichier est bien parsé, pas d'erreur.
    Mais j'ai une erreur ligne 24
    J'ai une erreur au niveau de la variable i.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void XMLCALL debutElement (void *userdata, const char * el, const char** attr){
     int i = 0;
     
     fprintf(stdout,"[%s]={",el);
     while(*(attr + i) != NULL){
       fprintf(stdout,"%s = %s, ",attr[i],attr[i+1]);
       i+=2;
     }
     
     fprintf(stdout,"}\n");
    }
    Voila pour le bout de code. Il aime la l'initialisation

  8. #28
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Change la boucle while en for. Ca devrait marcher !!!

  9. #29
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     int i = 0;
     
     fprintf(stdout,"[%s]={",el);
     while(*(attr + i) != NULL){
       fprintf(stdout,"%s = %s, ",attr[i],attr[i+1]);
       i+=2;
     }
    Je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (i ; attr +i != NULL ; i+=2)
      fprintf(stdout,"%s = %s, ",attr[i],attr[i+1]);
    }

  10. #30
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par ririch Voir le message
    Je mets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (i ; attr +i != NULL ; i+=2)
      fprintf(stdout,"%s = %s, ",attr[i],attr[i+1]);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int i ;
     
    for (i = 0 ; *(attr +i); i+=2) {
      fprintf(stdout,"%s = %s, ",attr[i],attr[i+1]);
    }
    Et n'oublie pas de compiler

  11. #31
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    C'est étrange, l'erreur ne vient pas du programme en c mais de mon fichier xml ... Il est pourtant valide...

  12. #32
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par ririch Voir le message
    C'est étrange, l'erreur ne vient pas du programme en c mais de mon fichier xml ... Il est pourtant valide...
    Ca t'affiche tjrs la meme chose?

  13. #33
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    Non non, mais j'ai rajouté des lignes a mon fichier xml et l'erreur a changé de ligne.. J'en conviens que ca viens de la ...
    J'essaye de la valider avec w3c maintenant.

    Mais je me rapelle que c'est possible de le faire avec le terminal .. Je devrais revoir mes cours

  14. #34
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par ririch Voir le message
    Non non, mais j'ai rajouté des lignes a mon fichier xml et l'erreur a changé de ligne.. J'en conviens que ca viens de la ...
    J'essaye de la valider avec w3c maintenant.

    Mais je me rapelle que c'est possible de le faire avec le terminal .. Je devrais revoir mes cours
    Content de t'avoir aidé, Bonne chance

  15. #35
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    Tu m'as enormément aider

    Néanmoins, je crois que l'erreur vient de ton code.
    Ca me signale qu'a la derniere ligne de mon fichier parser, j'ai une erreur... Autrement dis, au dernier element..
    Je vais alors voir ton code et la !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    void XMLCALL finElement(void *userdata, const char *el){
     
    }
    ba c'est vide.

    Je pense que ca vient de la mais quoi mettre ?

  16. #36
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    Dans ton main, c'est ca qui se lance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(XML_Parse(p,buff,taille,done) == XML_STATUS_ERROR){
       fprintf(stderr,"Erreur a la ligne %" XML_FMT_INT_MOD "u:\n%s\n",XML_GetCurrentLineNumber(p),XML_ErrorString(XML_GetErrorCode(p)));
       exit(-1);
      }

  17. #37
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par ririch Voir le message
    Tu m'as enormément aider

    Néanmoins, je crois que l'erreur vient de ton code.
    Ca me signale qu'a la derniere ligne de mon fichier parser, j'ai une erreur... Autrement dis, au dernier element..
    Je vais alors voir ton code et la !!

    void XMLCALL finElement(void *userdata, const char *el){

    }

    ba c'est vide.

    Je pense que ca vient de la mais quoi mettre ?
    la fonction finElement est appelée qd elle arrive à une balise fermante d'un element. Comme je ne fais pas de traitement spécial sur les fins de la balise, donc il est vide.

    A mon avis, c'est le fin de fichier qui est mal géré !!
    A toi de faire le reste !!

  18. #38
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    muai ... On va regardé ça un peu plus tard.. Je sature un peu du C, c'est pas marrant de faire des trucs sans comprendre...

  19. #39
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Citation Envoyé par ririch Voir le message
    muai ... On va regardé ça un peu plus tard.. Je sature un peu du C, c'est pas marrant de faire des trucs sans comprendre...
    En meme temps, php ressemble beaucoup au C !!

  20. #40
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Points : 47
    Points
    47
    Par défaut
    Si ça ressemblait autant j'aurais pas autant galéré ..
    J'ai toujours pas résolu le souci.. J'y travaille pourtant

Discussions similaires

  1. Récupération données parseur Sax
    Par Mides dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 13/05/2012, 22h38
  2. Le parseur SAX et la méthode characters
    Par cool dans le forum Android
    Réponses: 5
    Dernier message: 27/08/2011, 11h28
  3. [SAX] Problème de Parseur SAX
    Par Link81 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 27/02/2009, 11h18
  4. problème avec le parseur SAX
    Par xblond dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 06/06/2006, 10h22

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