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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Par défaut Parseur en C Sax
    Bonjour a tous, j'ai besoin d'un coup de main.
    Rien de bien compliquer mais je sèche néanmoins.
    J'ai fait un petit fichier xml et je souhaiterais le parser.. en c

    Je sais le faire en php mais pas en c.
    Je vous donne mon fichier xml (tout est passé en attribut, c'est normal)
    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
     
     <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"/>
                            </routeurs>
                            <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"/>
    			</liens>
    		</protocole>
    	</configuration>
    Quelqu'un peut m'expliquer la marche a suivre ?

    ps : j'ai vu le lien vers http://julp.developpez.com/c/libxml2/?page=sax
    mais j'arrive pas a l'adapter a mon xml.
    Merci infiniment

  2. #2
    Membre éclairé

    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 : 41
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Par défaut
    Je te conseille d'utiliser la libraire Expat qui se trouve ici. Tu peux trouver un exemple d'utilisation .

    Très simple d'utilisation

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

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Par défaut Oups
    Pas si simple que ça ton truc...
    Personne a un exemple déjà fait que je puisse comprendre clairement ?
    Thanks

  4. #4
    Membre éclairé

    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 : 41
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Par défaut
    Citation Envoyé par ririch Voir le message
    Pas si simple que ça ton truc...
    Personne a un exemple déjà fait que je puisse comprendre clairement ?
    Thanks
    En fait, c'est comme php. expat est une librairie qui permet de parser un document xml en C.
    Déjà, commence par télécharger la librairie sur le site. Sur Linux, il faut faire lancer ./configure et make && make install pour l'installer.

    Tu écris ton programme.

    Les fonctions à connaitre :
    • XML_ParserCreate : cette fonction crée un nouveau parser. Cette fonction a le meme nom en php. Sauf qu'elle prend un paramètre qui est l'encodage à utiliser pour le document.
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
       
      XML_Parser XML_ParserCreate(const XML_Char*encoding) ;
      // exemple d'init
      XML_Parser p = XML_ParserCreate("utf-8");
    • XML_SetElementHandler : Cette fonction ajoute preneurs d'evt pour les débuts et fins de balise.

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
       
       
      XML_SetElementHandler(XML_Parser p,
                            XML_StartElementHandler start,
                            XML_EndElementHandler end);
      //exemple 
      XML_SetElementHAndler(p, BaliseDebut, BaliseFin);
    • XML_SetCharacterDataHandler : Handler pour le contenu textuel des balises.
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
      6
      7
       
      XML_SetCharacterDataHandler(XML_Parser p,
                                  XML_CharacterDataHandler charhndl);
       
      //exemple
      XML_SetCharacterDataHandler(XML_Parser p,
                                  contenu);
    • XML_Parse : pour parser ton document XML.



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

    Informations forums :
    Inscription : Mars 2009
    Messages : 192
    Par défaut
    Merci de ton aide, j'attaque ça et te tiens au courant

  6. #6
    Membre éclairé

    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 : 41
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Par défaut
    Citation Envoyé par ririch Voir le message
    Merci de ton aide, j'attaque ça et te tiens au courant
    Inspire toi qd meme du code qui est sur le site

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