gzitoun
Messages postés61Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention10 décembre 2009
-
17 janv. 2008 à 19:13
gzitoun
Messages postés61Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention10 décembre 2009
-
19 janv. 2008 à 21:21
Bonjour,
j avais un fichier XML construit de la sorte:
<diamant>
1 <forme>princesse</forme>
...+ pas mal de criteres
2 <forme>princesse</forme>
....
....plus de 1000 items
</diamant>
je traitais les donnees ainsi:
DataSet dtInt = new DataSet();
dtInt.ReadXml(Server.MapPath("diamant.xml"));
Je parcourais le fichier ainsi for (int i = 0; i < dtInt.Tables[0].Rows.Count; i++)
et j accedais aux donnees de la sorte: dtInt.Tables[0].Rows[i]["prix"]
Tout allait bien sauf qu a present il y a une nouvelle balise fournisseur: par exemple la balise fournisseur1 encadrera les 100 premiers diamants, le fournisseur2 les 300 suivants, etc...
Et a present je n arrive plus a traiter les donnees (par exemple a acceder a la forme et au prix d un diamant ), je ne sais pas comment acceder aux caracteristiques...
Si quelqu un peu m'aider,
un grand merci d avance!
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 17 janv. 2008 à 21:04
Salut,
Si tu as besoin d'extraire seulement certaines données, ça ne me paraît pas logique de charger tout le fichier (qui semble grand comme tu le décris) en mémoire dans un DataSet...
Pourquoi ne pas utiliser une requête XPath, par exemple ?
gzitoun
Messages postés61Date d'inscriptionlundi 18 juin 2007StatutMembreDernière intervention10 décembre 2009 19 janv. 2008 à 20:55
Merci, pour ton aide ton tuto est vraiment bien fait!
Pour l instant j utilise la "voie classique" que tu montres dans ton exemple, mais les gains de rapidite que tu exposes font reflechir (je suis en attente de reponse de mon boss a ce sujet...).
Si je peux encore poser une petite question....
Quand je traites un item (un diamant), je voudrais savoir a quel fournisseur il appartient (obtenir le nom de la balise du noeud pere en fait). Est ce possible?