PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Große Dateien in XML speichern


Erdbeer-Schorsch
19.05.2004, 14:43
Hallo,

ich muss große Dateien in einem XML speichern, ändern und hinzufügen können.

Zur Zeit arbeite ich mit DataSets, diese sind allerdings bei großen Dateien (>50MB) seeeehr langsam.

<Dokument>
<id></id>
<bin></bin>
</Dokument>
<Dokument>
<id></id>
<bin></bin>
</Dokument>

Zum ändern habe ich folgendes überlegt:

Mit XmlTextReader die Datei lesen und alle Knoten (ausser dem mit id=2) mit XmlTextWriter in eine temporäreren Datei schreiben. Dann das geänderte Dokument hinzufügen. Die alte Datei zu löschen und dann die temporäre an die Position der gerade gelöschten kopieren.....

das wäre meine Idee. Gibt es evtl. etwas besseres? Wenn das gesuchte am Ende steht würde ich ja quasi das gesamte Dokument verschieben. Gibt ne Lösung zum lesen und beim finden der gesuchten Stelle den Dateizeiger an XmlTextWriter zu geben und im Original zu schreiben?


Steff
19.05.2004, 15:21
Ich denke folgendes könnte dir helfen:

MSDN: Efficient Techniques for Modifying Large XML Files (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnxmlnet/html/largexml.asp)

Gruss,
Steff

Erdbeer-Schorsch
27.05.2004, 08:11
Danke,

hab die Idee mit dem XML aber wieder verworfen da es einfach nicht schnell genug war.

Ich habe mit jetzt eine Klasse LAGER gemacht mit der ich die Dateien in einem Ordner verwalten kann.

Gruß

Schorsch