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?
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?