Bonjour, voici mon problème:
J'ai une classe PiloteSAXListeVins:
et une classe ListeVins:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include "PiloteSAX.hpp" #include <xercesc/sax2/Attributes.hpp> #include <map> #include <string> class PiloteSAXListeVins: public PiloteSAX { public: void startElement(const XMLCh * const uri, const XMLCh * const localname, const XMLCh * const qName, const xercesc::Attributes & attrs); };
Voici la fonction surchargée startElement de la classe PiloteSAXListeVins:
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 #include "PiloteSAXListeVins.hpp" #include <string> #include <list> #include <fstream> #include <set> #include <vector> #include "Vin.hpp" #include "PlateformeSAX.hpp" class ListeVins { PiloteSAXListeVins sonPiloteSAX; PlateformeSAX * saPlateformeSAX; public: std::list<Vin> sesVins; ... };
Voici maintenant le problème:
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 void PiloteSAXListeVins::startElement(const XMLCh * const uri, const XMLCh * const localname, const XMLCh * const qname, const xercesc::Attributes & attrs) { if((xercesc::XMLString::equals(localname,ptX_de_str("vin")))) { std::string nom=str_de_ptX(attrs.getValue(ptX_de_str("nom"))); std::string annee=str_de_ptX(attrs.getValue(ptX_de_str("annee"))); std::string qt=str_de_ptX(attrs.getValue(ptX_de_str("quantite"))); std::string coul=str_de_ptX(attrs.getValue(ptX_de_str("couleur"))); Couleur laCouleur=Vin().retCouleur(coul); ListeVins v1; v1.sesVins.push_back(Vin(nom, annee, qt, laCouleur)); //std::cout << v1.sesVins.size() << '\n'; } ListeVins v2; //std::cout << v2.sesVins.size() << '\n'; return;
Les éléments inséré dans la list disparaissent dès la sortie du if.
J'ai l'impression que ça vient du fait que la list SesVins est dans la classe ListeVins (même si elle est en public).
Comment puis-je faire en sorte que les élements restent dans la list apres être sortie du if et de la fonction startElement?
Merci.
}
Partager