menno, der Index war doch richtig -.-°
also eigentlich müßte es doch so funktionieren
Delphi-Quellcode:
while Assigned(NodeAnother) do
begin
NodeNext := NodeAnother.NextSibling;
i := 0;
while (i < NodeBase.childNodes.length)
and (NodeBase.childNodes[i].firstChild.text
<> NodeAnother.firstChild.text) do
Inc(i);
if i < NodeBase.childNodes.length then
begin
for i2 := 0 to NodeBase.childNodes[i].childNodes.length - 1 do
NodeBase.childNodes[i].removeChild(NodeBase.childNodes[i].firstChild);
for i2 := 0 to NodeAnother.childNodes.length - 1 do
NodeBase.childNodes[i].appendChild(NodeAnother.childNodes[0]);
end else
NodeBase.appendChild(NodeAnother);
NodeAnother := NodeNext;
end;
[edit]
Zitat:
So geht´s
also ob While oder For-Do sollte egal sein, abgesehn davon, daß bei For-Do nur einmal die Anzahl abgefragt wird.
[add]
ach ja, warum da die
Exception kommt ...
(NodeBase.childNodes[i].firstChild.text <> NodeAnother.firstChild.text)
hier ist keine Prüfung eingebaut, ob es überhaupt je mindestens einen ChildNode gibt, bevor drauf zugegriffen wird.