Irgendwie blicke ich da nicht ganz durch.
Es kommt einfach nicht das heraus, was ich brauche. (siehe Bild)
Ich habs auch schon ein paarmal umgestellt. Jedoch das Element 'Adressen' wird mir immer ganz nach unten verschoben.
Wo liegt auch der Fehler?
Code: Alles auswählen
class function tClass1.createXml(): Boolean;
var aa1:integer=0;
intRnd:integer;
xmlDoc: TXMLDocument;
RootNode, parentNode, nofilho: TDOMNode;
begin
Randomize;
try
xmlDoc:=tXmlDocument.Create ;
// Erzeuge einen Wurzelknoten
RootNode := xmlDoc.CreateElement('Mitglieder');
xmlDoc.Appendchild(RootNode);
for aa1:=0 to 1 do
begin
// Create a parent node
RootNode:= xmlDoc.DocumentElement; //Hier muss irgendwo der Fehler liegen
parentNode := xmlDoc.CreateElement('Adressen');
RootNode.Appendchild(parentNode);
// Create a child node
parentNode := xmlDoc.CreateElement('ID');
nofilho := xmlDoc.CreateTextNode(intToStr(aa1+1));
parentNode.Appendchild(nofilho);
RootNode.ChildNodes.Item[0].AppendChild(parentNode);
// Create a child node
parentNode := xmlDoc.CreateElement('Anrede');
nofilho := xmlDoc.CreateTextNode('Herr');
parentNode.Appendchild(nofilho);
RootNode.ChildNodes.Item[0].AppendChild(parentNode);
parentNode := xmlDoc.CreateElement('Vorname');
nofilho := xmlDoc.CreateTextNode('Vorname'+intToStr(aa1) );
parentNode.Appendchild(nofilho);
RootNode.ChildNodes.Item[0].AppendChild(parentNode);
.........
.........
parentNode := xmlDoc.CreateElement('Beruf');
nofilho := xmlDoc.CreateTextNode('Beruf'+intToStr(aa1) );
parentNode.Appendchild(nofilho);
RootNode.ChildNodes.Item[0].AppendChild(parentNode);
end;
writeXMLFile(xmlDoc, 'test.xml');
finally
xmlDoc.Free;
end;
end;
Code: Alles auswählen
<?xml version="1.0" encoding="utf-8"?>
<Mitglieder>
<Adressen>
<ID>1</ID>
<Anrede>Herr</Anrede>
<Vorname>Vorname0</Vorname>
<Nachname>Nachname0</Nachname>
<Strasse>Strasse 298</Strasse>
<Plz>8790</Plz>
<Ort>Ortschaft0</Ort>
<Alter>76</Alter>
<Beruf>Beruf0</Beruf>
</Adressen>
<Adressen>
<ID>2</ID>
<Anrede>Herr</Anrede>
<Vorname>Vorname1</Vorname>
<Nachname>Nachname1</Nachname>
<Strasse>Strasse 582</Strasse>
<Plz>5012</Plz>
<Ort>Ortschaft1</Ort>
<Alter>32</Alter>
<Beruf>Beruf1</Beruf>
</Adressen>
</Mitglieder>
Gibt es in Lazarus die Möglichkeit den Dokumententyp statt 'utf8' auf 'standalone' zu setzen?
Code: Alles auswählen
<?xml version="1.0" standalone="yes"?>
Danke für die Hilfe
Freundliche Grüsse
exc-jdbi