Bonjour
je suis debutant en c++ et xerces aidez moi svp.
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>
donc mon probleme est le suivant, sur l'exemple du fichier xml
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.
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
        }
je ne comprend pas pourquoi la liste des noeuds contient 7 elements
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.