Home » Tutorials » Third-Party-Komponenten » OpenXML XDOM 4.1
OpenXML XDOM 4.1
Formatieren & Speichern
Zum Schluss wollen wir die XML-Datei ausgeben.
Dazu kommt ein TDomToXmlParser auf die Form, dessen DOMImpl wir auf unseren DomImplementation1 verlinken.
Die XML-Datei geben wir jetzt in das Memo aus:
var s: String; DomToXmlParser1.WriteToString(FDoc, 'UTF-8', s); Memo1.Text := s;
Der Umweg über s ist nötig.
XDOM gibt die XML-Datei ohne Formatierung, als einzeiligen String aus.
Um die XML-Datei formatiert auszugeben, kann man Zeilenumbrüche und Leerstellen einfügen:
FNodeText := TDomText.Create(FDoc); FNodeText.NodeValue := #10#32#32; FDoc.FindFirstChildElement.AppendChild(FNodeText);
Dies macht einen Zeilenumbruch #10 und zwei Leerstellen #32.
Das Ergebnis könnte so aussehen:
<?xml version="1.0" encoding="UTF-8"?> <RootNode Attr1="Wert1"> <NodeGroup> <Node1>Text1</Node1> <Node2 Attr2="Wert2" Attr3="Wert3">Text2</Node2> </NodeGroup> <!--Kommentar--> </RootNode>
So speichert man die XML in eine Datei:
var Stream: TFileStream; Stream := TFileStream.Create('test.xml', fmCreate); DomToXmlParser1.WriteToStream(FDoc, 'UTF-8', Stream); Stream.Free;