I need of liitle help. When i wan't to modify an subnode, i do these procedures.
FDOMNodes[0] := FXMLDoc.DocumentElement.FindNode('installoverdomproject');
FDOMNodes[1] := FDOMNodes[0].FindNode('installationdata');
FDOMNodes[2] := FDOMNodes[1].FindNode('setupinformation');
FDOMNodes[3] := FDOMNodes[2].FindNode(ObjectType);
FDOMNode[4] := FDOMNodes[3].FirstChild;
while FDOMNodes[4] <> nil do begin
if (FDOMNodes[4].Attributes.GetNamedItem('name').NodeValue = TmpStack.Values['name']) then
Break
else
FDOMNodes[4] := FDOMNodes[3].NextSibling;
end;
if FDOMNodes[4] = nil then begin
FDOMNodes[4] := FXMLDoc.CreateElement(ItemName);
TDOMElement(TDOMNode).SetAttribute('name', TmpStack.IndexOfName('name'));
NewNode:= True;
end;
TmpStack.Delete(TmpStack.IndexOfName('name'));
for Fi := 0 to (TmpStack.Count -1) do begin
FDOMNodes[5] := FXMLDoc.CreateElement(TmpStack.Names[fI]);
FDOMNodes[6] := FXMLDoc.CreateTextNode(TmpStack.ValueFromIndex[fI]);
FDOMNodes[5].AppendChild(FDOMNodes[6]);
if NewNode = False then
FDOMNodes[4].ReplaceChild(FDOMNodes[4].FindNode(TmpStack.Names[Fi]), FDOMNodes[5]);
else
FDOMNodes[4].AppendChild(FDOMNodes[5]);
end;
But i'm stucked here, i need reestructure and replace these nodes with the new ones?, i need to do more code (even dirty).