Bonjour
je suis debutant en c++ et xerces aidez moi svp.
donc mon probleme est le suivant, sur l'exemple du fichier xml
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 <?xml version="1.0" encoding="utf-8"?> <abo> <abonnement id="85874"> <date>2009-12-13</date> <valeur>65</valeur> <validite>2010</validite> </abonnement> <abonnement id="85873"> <date>2009-11-13</date> <valeur>62</valeur> <validite>2010</validite> </abonnement> </abo>
je n'arive pas à extraire <date> <valeur> et <validite> et leur valeurs pourtant je crée la liste de noeud de <abonnement> mais quand j'affiche sa longeur ça me donne 7 je ne comprend pas.
je ne comprend pas pourquoi la liste des noeuds contient 7 elements
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Initialisation du Document DOMDocument *doc = DOMparser->getDocument(); DOMElement *element = doc->getDocumentElement(); // Récupération de l'ensemble des noeuds "abonnement" const XMLCh* XMLabo = XMLString::transcode("abonnement"); DOMNodeList *ListeNoeud = element->getElementsByTagName(XMLabo); for (int i=0; i < ListeNoeud->getLength(); i++) // boucle sur l'ensemble des noeuds { DOMNodeList *ListeNoeudFils=ListeNoeud->item(i)->getChildNodes(); cout<< "nb noeud fils " <<ListeNoeudFils->getLength()<<endl; // suite du traitement }
et pour extraire <valeur> et sa valeur je doit faire ça:
ListeNoeudFils->item(0)->getNodeName()
ou ListeNoeudFils->item(0)->getFirstChild()->getNodeName()
et pour la valeur:
ListeNoeudFils->item(0)->getNodeValue()
ou ListeNoeudFils->item(0)->getFirstChild()->getNodeValue()
merci d'avance.
Partager