Mettre en cache dans le DataSet le contenu d'un fichier xml [Résolu]

Signaler
Messages postés
28
Date d'inscription
mardi 11 juillet 2006
Statut
Membre
Dernière intervention
27 octobre 2008
-
Messages postés
28
Date d'inscription
mardi 11 juillet 2006
Statut
Membre
Dernière intervention
27 octobre 2008
-
Je réalise actuellement un lecteur MP3. Je stocke au 1er lancement de l'application la liste des mp3 dans un fichier XML. J'utilise pour cela la classe xmltextwriter.
Ex :
<fichier id=''>
<Titre>
<Chemin>
</fichier>

 Pas de souci particulier jusquelà

J'ai lié un contrôle DataGridView au fichier xml produit, via un Dataset que j'initialise à chaque lancement de l'application.
Le problème c'est le temps de lecture. Pour un fichier  Xml de 7mo (60 000 mp3 x 3lignes = 180 000 lignes). il faut compter env 2 minutes avant que la liste des fichiers musicaux soit chargée dans le DataGrid et donc que le programme soit lancé. 

Y-a-il des moyens de raccourcir le délai ? Est-il par exemple possible de mettre en cache le contenu du Dataset ???
Sinon, je serai tenté d'utiliser plutôt un simple fichier text pour raccourcir la taille du fichier produit, ou carrément une base de données, chose qui paraît un peu disproportionné pour un simple lecteur mp3.
Merci d'avance,
Herwin

3 réponses

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
16
avec un fichier texte tu vas devoir parser toi meme le fichier, ce qui risque finallement detre aussi lourd qu'un fichier xml...apres pour un lecteur qui prend en charge 60000 pistes, oui la base de données serait bien plus préconisée....ne serais ce qu'un fichier word de 7Mo me semble abhérent, alors un fichier binaire de 7Mo que tu vas parser.....une bd va taméliorer les temps de traitements a tous les points de vues (enfin a mon sens).
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
47
Même avis, si le programme doit être capable de stocker/lire jusqu'à 60'000 Mp3, une base de donnée s'impose assez logiquement...

<hr size="2" />-Blog-
Messages postés
28
Date d'inscription
mardi 11 juillet 2006
Statut
Membre
Dernière intervention
27 octobre 2008

Merci pour ces précisions.


Je réécris donc la partie stockage de mon appli.


Mais Windows Media Player dans sa bibliothèque Mulimédia gère des listes de fichiers média parfois beaucoup plus conséquente que 60 000 titres. Pourtant, je n'observe pas de délai particulèrement lourd au lancement du logiciel