Avatar billede thomasabcd Nybegynder
09. maj 2006 - 21:03 Der er 1 kommentar og
1 løsning

Hurtigste måde at læse xml-fil

Hej.

Jeg skal læse en masse filer hurtigst muligt og returnere nogle SMS-objekter(som jeg selv har defineret). Der er tale om xml-filer.

Er der en hurtigere måde end nedenstående ?

P.t. gør jeg som følger:

CreateSMS(filepath)
{
lock(createSMSLock)
{
FileInfo f = new FileInfo(filepath);

//Laver et SMS-objekt ud fra XML-data i den indkomne fil (hvis                                         
//filen stadig eksisterer)
if (File.Exists(filepath) == true && filepath != null)
{
  CSMS tempSMS = new CSMS();
  try
  {
  FileStream readStream = new FileStream(filepath, FileMode.Open,     
  FileAccess.Read, FileShare.ReadWrite, 8, true);
 
  XmlTextReader reader = new XmlTextReader(readStream);
  reader.ReadStartElement("SMS");
    tempSMS.MobilePhoneNumber = reader.ReadElementString("from");
    tempSMS.Message = reader.ReadElementString("message");
    reader.ReadEndElement();
  reader.Close();
 
  return tempSMS;
  }
  catch(bla bla bla)
  {}
}
}
Avatar billede arne_v Ekspert
10. maj 2006 - 04:52 #1
formentlig er XmlTextReader hurtigere end XmlDocument

men det at åbne filen er langt den dyreste operation, så jeg tror ikke
at forskellen er speciel stor

hvis XML formatet er super simpelt kunne du læse med en almindelig
StreamReader ReadLine og fiske ud med IndexOf og Substring, hvilket
igen bør være en lille bitte smule hurtigere end XmlTextReader

jeg er sikker på at du ville få langt bedre performance (for read ikke for
write !) ved at have alle sammen i en enkelt fil
Avatar billede arne_v Ekspert
19. juni 2006 - 00:15 #2
OK ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Nye kolleger søges til IT Stab i Forsvaret

Erhvervsakademi Aarhus

Undervisere til it-uddannelser