Bonjour
Je viens de découvrir TinyXML et il y a un problème que je n'arrive pas à résoudre dans l'extraction des données.
L'extraction des données du premier TreeKit fonctionne bien en revanche la console plante lors de son deuxième passage dans le "while(ptree)"
Voici mon fichier XML:
<?xml version="1.0" encoding="UTF-8" ?>
- <TreeKit id="mama">
<base children="1" cousins="10" LifeTime="40" />
<tree money="2000" />
</TreeKit>
- <TreeKit id="papa">
<base children="1" cousins="12" LifeTime="30" />
<tree money="3500" />
</TreeKit>
Voici une partie de mon code :
Je pense que le problème vient du "ptree = ptree->NextSiblingElement();" mais sans cette ligne je ne peux pas atteindre "money"
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 TiXmlElement *elem=hdl.FirstChildElement().FirstChildElement().Element(); if(!elem) { cerr << "le noeud à atteindre n'existe pas" << endl; system("PAUSE"); menu(); } while(elem) { //Extraction de la première lettre du nom name = *elem->Attribute ("id"); printf("\tname id = %c \n",name); TiXmlElement *ptree=hdl.FirstChildElement().FirstChildElement().FirstChildElement().Element(); while(ptree) { ptree->QueryIntAttribute ("children", children); ptree->QueryIntAttribute ("cousins", cousins); ptree->QueryIntAttribute ("LifeTime", LifeTime); //Présence d'un /> dans le xml ptree = ptree->NextSiblingElement(); ptree->QueryIntAttribute ("money", money); } //On passe au tree suivant elem = elem->NextSiblingElement(); }
Quelqu'un pourrait il m'éclairer svp ?
Merci
Partager