Frage

Ich habe vor XML-Analyse gemacht, aber nie in großem Maßstab. Wenn ich mit vielen ähnlichen Dokumenten dieses Format gerade arbeite:

<?xml version="1.0" ?>
<items comment="something...">
  <uid>6523453</uid>
  <uid>94593453</uid>
</items>

Was ist der schnellste Weg, diese Dokumente zu analysieren?
1) XML DOM
2) XML Serialize - rehydrieren in einem .NET-Object
3) Einige andere Verfahren

UPDATE
Ich vergaß zu erwähnen, dass es ca. 8000 uid Elemente im Durchschnitt sein.

War es hilfreich?

Lösung

Mit XmlReader wird auf jeden Fall gehen die schnellste Methode zu sein, obwohl Sie alle Parsing manuell Verlauf zu tun haben. Er liest direkt aus dem Strom, ohne etwas zu Cachen, obwohl es nicht zu bequem ist im Vergleich zu verwenden, um das DOM.

Beim Vergleich der beiden Sie vorgeschlagen: Serialisierung das DOM schneller sein sollte als die Verwendung von da (glaube ich) es nicht den gesamten Baum im Speicher zwischenspeichert - es hat auch sicherlich eine einfachere Schnittstelle zu verwenden, wenn Sie speziell sind mit dem Ziel zur Durchführung der Serialisierung.

Andere Tipps

Ich würde sagen, dass die XML-Serialisierung das Beste aus beiden Welten sein würde. Sie erhalten einfache Bedienung sowie eine gute Geschwindigkeit. Es gibt einigen zusätzlichen Aufwand mit XML-Serialisierung ... aber wenn Sie XmlReader manuell verwendet, werden Sie zumindest replizieren, wenn nicht sogar übertreffen, dass der Overhead auf eigener Faust, wie Sie, dass die Leser verwenden, um Ihre Objektdiagramm zu erstellen.

Je nachdem, was müssen Sie mit den Daten tun die XmlReader von @Noldorin erwähnt ist die beste Wahl für das Streaming Stil Verarbeitung. Wenn Sie mehr Ad-hoc-Stil Zugriff auf die Daten unter Verwendung von XPath und das XPathDocument benötigen viel schneller als das rohe XML-Dokument sein.

http://msdn.microsoft.com/en-us/library /eh3exdc4.aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top