am Einfachsten so...
Delphi-Quellcode:
Var XML: TXMLDocument;
Node: IXMLNode;
// laden
XML := TXMLDocument.Create(Self);
Try
XML.LoadFromStream(Stream);
XML.Active := True;
// bei active ... ich glaub das war hier eventuell nimmer
// nötig *überleg* ... aber schaden tut's bbestrimmt auch nich
XML.Options := [doNodeAutoCreate, doNodeAutoIndent, doAttrNull];
//Node := XML.DocumentElement. ...
...
Finally
XML.Free;
End;
// speichern
XML := TXMLDocument.Create(Self);
Try
XML.Active := True;
XML.Version := '
1.0';
XML.StandAlone := '
yes';
XML.Encoding := '
UTF-8';
XML.Options := [doNodeAutoCreate, doNodeAutoIndent, doAttrNull];
XML.AddChild('
xml');
//Node := XML.DocumentElement. ...
...
XML.SaveToStream(Stream);
Finally
XML.Free;
End;
die
XML.Options sind so gewählt, daß der
XML-Text schön formatiert ist (doNodeAutoIndent) und daß es keine Exceptions beim Zugriff auf nicht existierende Nodes/Attributes gibt (doNodeAutoCreate+doAttrNull)