Probleme de tri

Résolu
gzitoun Messages postés 61 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 10 décembre 2009 - 17 janv. 2008 à 19:13
gzitoun Messages postés 61 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 10 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!    
                 

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
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 ?

<hr />
-My Blog-
3
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
19 janv. 2008 à 20:58
Oui c'est tout à fait possible, par contre je ne me souviens pas de la synthaxe par coeur.
Peut-être "..", à tester.

<hr />
-My Blog-
3
gzitoun Messages postés 61 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 10 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?

Merci beaucoup.
0
gzitoun Messages postés 61 Date d'inscription lundi 18 juin 2007 Statut Membre Dernière intervention 10 décembre 2009
19 janv. 2008 à 21:21
Merci, je vais tester!
0
Rejoignez-nous