Parsen großer XML-Daten in C#
Große XML-Datensätze, wie sie beispielsweise in geografischen Informationssystemen (GIS) verwendet werden, erfordern effiziente Parsing-Techniken Vermeiden Sie Speicherbeschränkungen. In diesem Artikel wird der beste Ansatz zum Parsen großer XML-Dateien in C# erläutert, wobei der Schwerpunkt auf der Speichernutzung liegt.
Alternativen zu DOM-Parsern
Document Object Model (DOM)-Parser , die eine baumartige Darstellung des gesamten XML-Dokuments im Speicher erstellen, sind für große Datensätze ungeeignet. Daher wird sich die Diskussion auf alternative Techniken konzentrieren.
XmlSerializer vs. XSD.EXE generierte Bindungen
XmlSerializer und XSD.EXE generierte Bindungen können zum Parsen von XML-Dateien verwendet werden , aber beide haben Einschränkungen. XmlSerializer erfordert ein vordefiniertes Schema, während von XSD.EXE generierte Bindungen komplex und fehleranfällig sein können.
XmlReader und Hand-Crafted Object Graph
XmlReader, ein Vorwärts- Der einzige nicht zwischengespeicherte XML-Parser bietet eine hervorragende Speichereffizienz. Durch die Implementierung eines handgefertigten Objektdiagramms, das der XML-Struktur zugeordnet ist, können Sie große Dateien analysieren, ohne das gesamte Dokument im Speicher zu halten.
Empfehlung: XmlReader
Für Beim Parsen von Gigabyte-großen XML-Dateien in C# wird XmlReader aufgrund seiner geringen Speichernutzung und seiner Nur-Weiterleitung dringend empfohlen Natur.
Beispielverwendung
Der folgende Codeausschnitt zeigt, wie XmlReader zum Verarbeiten großer XML-Dateien verwendet wird:
using (XmlReader myReader = XmlReader.Create(@"c:\data\coords.xml")) { while (myReader.Read()) { // Process each node (myReader.Value) here // ... } }
Fazit
Das Parsen großer XML-Dateien in C# erfordert eine sorgfältige Berücksichtigung der Speichernutzung. XmlReader ist aufgrund seines geringen Speicheraufwands eine optimale Wahl für die Verarbeitung von Gigabyte-großen Dateien. Die Implementierung eines handgefertigten Objektdiagramms ermöglicht eine effiziente Abbildung der XML-Struktur.
Das obige ist der detaillierte Inhalt vonWie kann ich Gigabyte-große XML-Dateien in C# effizient analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!