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 :

[TinyXML] Parseur XML


Sujet :

XML

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [TinyXML] Parseur XML
    bonjour, je veux parser un fichier XML avec Tinyxml, j'ai suivi les instructions du tuto http://khayyam.developpez.com/articles/cpp/tinyxml/#LII
    MAIS j'arrive toujours pas a avoir le résultat qu'il a eu!!!
    en compilant le code (en DEVc++), j'ai un message d'erreur :
    expected unqualified-id before "if"
    expected `,' or `;' before "if"
    etc ..

    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
    #include <tinyxml.h>
    using namespace std;
    TiXmlDocument doc("users.xml");
    if(!doc.LoadFile()){
        cerr << "erreur lors du chargement" << endl;
        cerr << "error #" << doc.ErrorId() << " : " << doc.ErrorDesc() << endl;
        return 1;
    }
    class user{
    	public:
    		string name, pass;
    		int droits;
    };
    list<user> user_list;
    TiXmlElement *elem = doc.FirstChildElement()->FirstChildElement();
    TiXmlHandle hdl(&doc);
    TiXmlElement *elem = hdl.FirstChildElement().FirstChildElement().Element();
    user cl;
    if(!elem){
    	cerr << "le noeud à atteindre n'existe pas" << endl;
    	return 2;
    }
     
    while (elem){
    	cl.name = elem->Attribute("name");
    	cl.pass = elem->Attribute("pass");
    	elem->QueryIntAttribute("indice", &cl.droits);
    	user_list.push_back(cl);
     
    	elem = elem->NextSiblingElement(); // iteration 
    }
    list<user>::iterator i;
    for(i=user_list.begin(); i!=user_list.end(); i++)
        cout << i->name << " " << i->pass << " " << i->droits << endl;

  2. #2
    Membre à l'essai
    Inscrit en
    Janvier 2012
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Janvier 2012
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    L'erreur est à quelle ligne ? de quel 'if' s'agit-il ?
    ou bien
    Question subsidiaire:
    est-ce que ton code est bien dans un main ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    int main(int argc, char** argv) 
    {
    ...
    }

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    le seul if visible est correct.
    En fait l'ensemble du code est correct, en supposant qu'il soit dans un main, mais j'ai des doutes en voyant l'include du haut.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2012
    Messages : 10
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    je suis étudiant et j'aurai besoin de vos lumières pour un projet. J'aimerais utiliser TinyXML pour parser un document en C++. Le problème est que le fichier que je veux parser est de cette forme:

    <Placemark>
    <visibility>1</visibility>
    <Style id="sn_shaded_dot">
    <IconStyle>
    <Icon>
    <href>http://maps.google.com/mapfiles/kml/paddle/wht-blank.png</href>
    </Icon>
    <color>ff0000ff</color>
    <scale>1.06666666666667</scale>
    </IconStyle>
    <LabelStyle>
    <color>ff0000ff</color>
    <scale>0</scale>
    </LabelStyle>
    </Style>
    <name>-84</name>
    <description>SNCF-WIBU [58:359:3A:F4F]
    WPA2-Personal
    -84dBm
    Channel 112
    GPS
    Lat,Lon,Alt 0,0,0
    Speed (km/h) 0
    Time (UTC) 2012-04-30T13:47:32.845Z
    Precision
    Satellite Count 0
    Fix Mode
    VDOP 0
    HDOP 0
    PDOP 0
    </description>
    <Point>
    <coordinates>0,0,0</coordinates>
    </Point>
    </Placemark>

    Je voudrais récupérer les infos concernant le noeud <description>, à savoir le nom (SNCF-WIBU [58:359:3A:F4F]), la puissance (-84dBm), la lat (0), long (0), alt (0), et le temps ( 2012-04-30T13:47:32.845Z). Malheureusement je ne suis que débutant et ne voyant pas ces informations en tant "qu'attribut" du noeud description, car pas entre balise, je ne vois pas comment y avoir accès.
    Merci beaucoup pour votre aide.

Discussions similaires

  1. Selon vous, le meilleur parseur XML ?
    Par Community Management dans le forum XML/XSL et SOAP
    Réponses: 22
    Dernier message: 05/06/2012, 12h39
  2. [XML] [EXPAT] Problème avec Parseur XML
    Par tubeless dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/02/2006, 09h52
  3. [C++] parseur xml
    Par freecell31 dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 02/02/2006, 12h40
  4. Parseur XML to Java pour creation de Class
    Par yannick101 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 18/07/2005, 14h20

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