Hallo,
ich benutze TXMLDocument um eine
XML-Datei zu erstellen. Das funktioniert auch an sich, allerdings ist die fertige Datei nicht eingerückt und daher schlecht leserlich, kann man das irgendwie automatisch machen lassen oder muss ich es manuell machen?
Delphi-Quellcode:
case CountDots(
name)
of
0:
begin
root :=
XML.DocumentElement.AddChild('
imgdir');
root.Attributes['
name'] :=
name;
XMLlb;
end;
1:
begin
root :=
XML.DocumentElement.ChildNodes[0].AddChild('
imgdir');
root.Attributes['
name'] := Explode('
.',
name)[1];
XMLlb;
end;
2:
begin
root :=
XML.DocumentElement.ChildNodes[0].ChildNodes[0].AddChild('
imgdir');
root.Attributes['
name'] := Explode('
.',
name)[2];
Inc(
Index);
XMLlb;
end;
3:
begin
root :=
XML.DocumentElement.ChildNodes[0].ChildNodes[0].ChildNodes[0].AddChild('
imgdir');
root.Attributes['
name'] := Explode('
.',
name)[3];
XMLlb;
end;
end;
Wie ihr an diesem Codeausschnitt seht ist die
XML hinterher sehr verschachtelt und es ist mir wichtig, dass man die Werte auch noch gut im Editor lesen kann (wenn sie einfach nur von einem anderen Programm wieder eingelesen werden würde wäre es egal). Kann man dieses ChildNodes[0].ChildNodes[0] noch irgendwie optimieren?
Delphi-Quellcode:
procedure XMLlb;
begin
XML.XML.Text :=
XML.XML.Text + sLineBreak;
XML.LoadFromXML(
XML.XML.Text);
end;
XMLlb soll nach jeder Änderung einen Zeilenumbruch einfügen (auch damit es besser lesbar ist), allerdings funktioniert das irgendwie auch nicht..
Ich hoffe ihr könnt mir helfen.