Fang' im Kleinen an und baue daraus die
XML-Datei auf. (Bottom-Up-Design)
Also erst mal ein "Punkt"-Element erzeugen:
Delphi-Quellcode:
procedure TForm1.CreatePunkt(parent:IXMLDOMElement; id,x,y:integer);
var
element, e2 : IXMLDOMElement;
begin
element := parent.CreateElement('ein_Punkt') as IXMLDOMElement;
parent.AppendChildNode(element);
e2 := element.CreateElement('Id') as IXMLDOMElement;
element.AppendChildNode(e2);
e2.Text := IntToStr(id);
e2 := element.CreateElement('X') as IXMLDOMElement;
element.AppendChildNode(e2);
e2.Text := IntToStr(x);
...
end;
Der Code ist ungetestet und du musst sicher noch etwas anpassen, aber der Knackpunkt ist,
dass du immer eine Procedure hast, die als Parameter ein Vaterelement (parent) übergeben bekommt.
Tip #2: die Methoden CreateElement und AppendChildNode brauchst du so oft, dass du dir eine Funktion schreiben solltest, die beides zusammenfasst.
Tip #3: definiere für deine Arrays einen Datentyp, damit du die Arrays bequem als Parameter übergeben kannst.
Delphi-Quellcode:
type
TKoordinaten = array[1..12,1..3]of integer;
TLinienarray = array[1..2] of TKoordinaten; // cool, wie man mit Pascal Datentypen wiederverwenden kann