ReadXML terriblement lent !!

Signaler
Messages postés
37
Date d'inscription
jeudi 29 juillet 2004
Statut
Membre
Dernière intervention
28 février 2005
-
Messages postés
37
Date d'inscription
jeudi 29 juillet 2004
Statut
Membre
Dernière intervention
28 février 2005
-
Je ne trouve pas de solution concernant une optimization de remplir un DataSet avec un XML, quand je fais NewDataSet.ReadXML(), mon fichier de 4MB XML met 5 bonnes minutes à le remplir en freezant la fenêtre de mon application, je trouve ca lourd et trop long, est ce un bug, ou c'est moi qui m'y prend mal.
Pour le code c'est tout simple:

DataSet oDs = new DataSet();
oDs.ReadXML("fichier.xml");
A cette ligne il bloque entre 3 et 5 minutes (pas chronometrer)

Merci

1 réponse

Messages postés
37
Date d'inscription
jeudi 29 juillet 2004
Statut
Membre
Dernière intervention
28 février 2005
1
Bon je me réponds à moi-même, ca pourra aider certains.

En fait, j'ai trouvé une solution qui diminue le temps de travail de 50% !
On ouvre la console prompt de Visual Studio .Net (pas la commande Dos), on tape:

xsd [mon fichier XML]

Visual Studio va créer un Schema XML du même nom que mon fichier mais avec l'extension XSD, dans le code on charge d'abord le Schema:

dataSet.ReadXmlSchema([Mon fichier XSD]);

ensuite tout simplement on lit le fichier XML:

dataSet.ReadXml([Mon fichier XML], XmlReadMode.ReadSchema);

et paf vous gagnez 50% de vitesse, en fait si vous ne créez pas de fichier XSD, le DataSet se charge de le créer pour vous mais si votre fichier XML fait quelques MB, ca va sembler long, voilà, j'espère que cela vous aidera.