[TinyXML] Plantage à l'utilisation
Bonjour à tous,
Je me permet de vous écrire car malgré mes recherches dans ce forum, je ne trouve toujours pas mon bonheur. Je souhaiterais tout simplement lire et écrire dans un fichier xml. J'utilise sous VC++ 6.0 la libraire de tinyXML mais je rencontre une erreur sérieuse du type XML.exe a rencontré un problème et doit fermer.
Tout d'abord voiçi mon fichier XML (tout simple):
Code:
1 2 3 4 5 6
| <?xml version="1.0" encoding="ISO-8859-1"?>
<lstUsers>
<user name="toto" pass="13" indice="1"/>
<user name="tata" pass="142" indice="2"/>
<user name="titi" pass="azerty" indice="1"/>
</lstUsers> |
et voici mon code c++:
Code:
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
| TiXmlDocument doc("users.xml");
if(!doc.LoadFile()){
cerr << "erreur lors du chargement" << endl;
cerr << "error #" << doc.ErrorId() << " : " << doc.ErrorDesc() << endl;
return 1;
}
list<user> user_list;
TiXmlHandle hdl(&doc);
TiXmlElement *elem = hdl.FirstChildElement().FirstChildElement().Element();
if(!elem){
cerr << "le noeud à atteindre n'existe pas" << endl;
return 2;
}
user cl;
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;
return 0;
} |
J'ai beau lire et relire les infos du liens suivant http://khayyam.developpez.com/articles/cpp/tinyxml/, rien à faire !!!
Ce serait sympa si quelqu'un avait la solution. Merci par avance pour vos réponse.
Salutations.