Eintragshistorie: KlasseAdapterXMLWriter
Compare Page Revisions
Eintragsversion: 23/04/2010 10:32
Zweck
Mit Hilfe der Klasse TAdapterXMLWriter können Daten als XML zusammengestellt werden.
Dabei sorgt die Klasse das die XML Vereinbarungen eingehalten werden und die Daten normiert werden.
Die Ausgabe Datei wird immer mittels UTF8 Codierung gespeichert.
Beispiel
Folgendes Beispiel soll die Funktionsweise der TAdapterXMLWriter Klasse verdeutlichen.
function Test1(const TestAll: boolean): boolean;
var
aWriter : TAdapterXMLWriter;
i : integer;
aStart : TDateTime;
aEnd : TDateTime;
begin
PageControlResult.ActivePage := TabSheet_Protokoll;
result := false;
if not TestAll then Memo.Lines.Clear;
aWriter := TAdapterXMLWriter.Create;
try
Memo.Lines.Add();
Memo.Lines.Add('Test1 - Write');
Memo.Lines.Add('*****************************************************************************************');
Memo.Lines.BeginUpdate;
try
aStart := Now;
Memo.Lines.Add('XML Struktur erstellen');
aWriter.WriteStartDocument;
aWriter.WriteStartElement('Test');
for i := 1 to 10 do
begin
aWriter.WriteStartElement('SubItem' + inttostr(i));
aWriter.WriteAttributeString('Name', 'blabla');
aWriter.WriteAttributeString('Value', inttostr(i));
aWriter.WriteEndElement;
end;
aWriter.WriteEndElement;
aWriter.WriteEndDocument;
if FileExists('c:\writertest.xml') then
begin
DeleteFile('c:\writertest.xml');
end;
Memo.Lines.Add('XML Datei "c:\writertest.xml" erstellen');
aWriter.SaveToFile('c:\writertest.xml');
if FileExists('c:\writertest.xml') then
begin
result := true;
Memo.Lines.Add('Datei "c:\writertest.xml" gefunden');
end else
begin
Memo.Lines.Add('Datei "c:\writertest.xml" nicht gefunden');
end;
aEnd := now;
Memo.Lines.Add();
Memo.Lines.Add('erstellte XML:');
Memo.Lines.Add(aWriter.getXMLStrAnsi);
finally
Memo.Lines.EndUpdate;
Memo.Lines.Add(FormatDateTime('hh:nn:ss:zzz', aEnd - aStart));
end;
Memo.Lines.Add('');
if result then
Memo.Lines.Add('Test1 abgeschlossen mit: true')
else
Memo.Lines.Add('Test1 abgeschlossen mit: false');
Memo.Lines.Add('*****************************************************************************************');
finally
aWriter.Free;
end;
end;