WinFuture-Forum.de: C# - Performance von XmlDocument.Load() - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

C# - Performance von XmlDocument.Load()


#1 Mitglied ist offline   Stefan24 

  • Gruppe: aktive Mitglieder
  • Beiträge: 151
  • Beigetreten: 17. Februar 07
  • Reputation: 0

geschrieben 07. März 2011 - 19:00

Hey ihr,

Ich habe Probleme mit der Performance von XmlDocument.Load(). Hier ist man mein Code:

XmlDocument musikinfo = new XmlDocument();

XmlReader xml_datei = new XmlTextReader("http://ws.audioscrobbler.com/2.0/?method=track.getinfo&
api_key=b25b959554ed76058ac220b7b2e0a026&artist=" + (String)id3_return("artist", file) + "&track=" + (String)id3_return("title", file));

MessageBox.Show("Geladen1!");

musikinfo.Load(xml_datei);

MessageBox.Show("Geladen2!");


Die Messageboxen habe ich nur zur Zeitüberwachung eingebaut. Die Erste erscheint praktisch sofort, bis die zweite erscheint dauert aber fast 20 Sekunden. Wie kann ich XmlDocument.Load() dazu bringen, schneller zu arbeiten? Oder gibt es eine andere Methode? Ich habe auch schon XmlDocument.Load(URL) ausprobiert anstelle der ersten und dritten Zeile, aber auch das bringt keine Steigerung. Eine Beispiel XML ist z.B. hier.

lg Stefan
Eingefügtes Bild

Eingefügtes Bild
0

Anzeige

#2 Mitglied ist offline   airlight 

  • Gruppe: aktive Mitglieder
  • Beiträge: 36
  • Beigetreten: 27. August 04
  • Reputation: 0

geschrieben 07. März 2011 - 19:11

hallo,

das Problem ist logischerweise nicht die Load-Funktion. Wenn du eine Url als Pfad angibst, muss natuerlich gewartet werden, bis die Daten ankommen. Wenn also der Server langsam ist, dann dauert es, bis die Funktion durchgearbeitet ist.
0

#3 Mitglied ist offline   Stefan24 

  • Gruppe: aktive Mitglieder
  • Beiträge: 151
  • Beigetreten: 17. Februar 07
  • Reputation: 0

geschrieben 07. März 2011 - 19:38

Hab ich mir auch zuerst gedacht, aber die erste messagebox erscheint sofort, und an dieser Stelle ist das Dokument bereits runtergeladen. Zudem wären 20 Sekunden für eine XML Datei, die gerade mal ein paar KB groß ist, doch auch komisch, oder?
Eingefügtes Bild

Eingefügtes Bild
0

#4 Mitglied ist offline   Fearxpc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 22
  • Beigetreten: 19. Juli 09
  • Reputation: 3

geschrieben 07. März 2011 - 21:02

Hi,

ich habe vor ~1,5Jahren auch mal mit der last.fm API rumgespielt.
Hatte dabei jedoch keine Probleme mit der Performance.

Die "Daten" wurden per HttpWebRequest geholt und in einen Streamreader geladen.

Danach diesen response per XElement verarbeitet.

var xmlResponse = XElement.Parse(serviceResponse);

Vll helfen dir diese Anhaltspunkte etwas ;)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0