我正在开发一个 Delphi 应用程序,该应用程序需要从一段时间的工作中提取行并将它们转换为单个 XML 文件,以便上传到第 3 方 Web 服务。
有没有可用的组件或库来做到这一点?如果不是,那么构建 DB2XML 转换器的最佳代码方法是什么?
我注意到大多数 XML 问题都是关于如何将其转换为另一种类型的数据。
注意:数据库将是 MySQL 或 Firebird。
我正在开发一个 Delphi 应用程序,该应用程序需要从一段时间的工作中提取行并将它们转换为单个 XML 文件,以便上传到第 3 方 Web 服务。
有没有可用的组件或库来做到这一点?如果不是,那么构建 DB2XML 转换器的最佳代码方法是什么?
我注意到大多数 XML 问题都是关于如何将其转换为另一种类型的数据。
注意:数据库将是 MySQL 或 Firebird。
您可以使用该TDataSetProvider
组件来填充TClientDataSet
TDataSet 内容,然后使用该SaveToFile
方法创建 xml 文件。
试试这个样本
procedure DataSetToXML(DataSet : TDataSet; const FileName:string);
var
LProvider : TDataSetProvider;
LClient : TClientDataSet;
begin
LProvider:=TDataSetProvider.Create(nil);
try
LProvider.DataSet:=DataSet;
LClient:=TClientDataSet.Create(nil);
try
DataSet.DisableControls;
try
if not DataSet.Active then
DataSet.Active:=True;
LClient.SetProvider(LProvider);
LClient.Active:=True;
LClient.SaveToFile(FileName, dfXMLUTF8);
finally
DataSet.EnableControls;
end;
finally
LClient.Free;
end;
finally
LProvider.Free;
end;
end;
您可以将表放在 TClientDataSet 中,然后使用 XMLData 属性导出为 XML。