Viel Rechenzeit benötigt das Verschieben der nachfolgenden Nodes nicht unbedingt.
Wenn/Da du in den Nodes doch bestimmt auch die untergeordneten Nodes auflistest.
Den nachfolgenden/vorhergehenden Geschwisterknoten müßte man nicht unbedingt in jedem Knoten speichern, da diese ja auch im Elternknoten aufgelistet sind.
Also im Prinpip muß man einfach alle nachfolgenden Knoten durchgehn und überall nur einen Offset (die Verschiebung) aufrechnen.
Den String selber kann man ja komplett, für alle Knoten, auf einmal verschieben.
Aber ob du so weniger Speicher benötigst, das kommt darauf an, wie groß die
XML-Datei ist und wie viel/oft etwas geändert wird.
Unter Umständen muß man ja alles umkopieren, selbst wenn man ganz am Ende nur eine Kleinigkeit einfügt.
Vorallem wenn nicht genug platz für diesen String ist.
Auch benötigst du einen "großen" zusammenhängenden Speicherplatz, wärend die Daten auch in kleineren Speicherlücken verteilt sein kann, wenn man nicht alles zusammenhängend hat.
Zitat:
(Brauch ich mehr Speicher)? Oder Objekte?
Wie gesagt, das kommt auf den Einzelfall drauf an
und ob du/wann du mehr Objekte benötigst, das kommt wohl erstmal grundlegend auf die Verwaltung deiner Daten an.
- viele
XML-Libs haben z.B. für jedes Attribut ein eigenes Objekt
- in meiner Lib werden alle Attribute eines Knotens in nur einem Objekt verwaltet