当您使用该TCustomClientDataSet.SaveToFile
过程时,您可以选择输出格式,默认情况下,此值设置为dfBinary
以二进制格式对数据进行编码。
procedure TCustomClientDataSet.SaveToFile(const FileName: string = '';
Format: TDataPacketFormat = dfBinary);
尝试将Format
参数更改为dfXML
或dfXMLUTF8
ClientDataSet1.SaveToFile('file.xml',dfXML);
如果你想格式化 XML 输出,你可以使用这个FormatXMLData
函数试试这个代码
uses
XMLDoc;
Procedure FormatXMLFile(XmlFile:string);
var
oXml : TXMLDocument;
begin
oXml := TXMLDocument.Create(nil);
try
oXml.LoadFromFile(XmlFile);
oXml.XML.Text:=xmlDoc.FormatXMLData(oXml.XML.Text);
oXml.Active := true;
oXml.SaveToFile(XmlFile);
finally
oXml := nil;
end;
end;
最后你的代码看起来像这样
ClientDataSet1.SaveToFile('test.xml',dfXML);
FormatXMLFile('test.xml');