Ha!
So geht´s
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
while NodeBase.childNodes[i].childNodes.length > 0 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;
(jetzt muss ich erst mal gut durchtesten, nachdem ich die Euphorie gelegt hat)