我刚刚安装了Delphi 7 for Personal Use,并试图将delphi ClientDataSet文件转换为dfXMLUTF8。我真正需要的是xml结构。 This site建议运行4行代码将生成我想要的输出。请注意,我的文件是.cds,而不是.dat,如示例中所示。我不知道这是否有所作为。将Delphi ClientDataSet转换为dfXML
ClientDataSet1.Active := false;
ClientDataSet1.CreateDataSet;
ClientDataSet1.LoadFromFile('MyBinaryFile.dat');
ClientDataSet1.SaveToFile('MyXMLFile.XML', dfXMLUTF8);
我收到错误,因为我从来没有真正使用德尔福之前,我希望有人谁知道他们在做什么,可能只是张贴很短 XML结构我。 Here's the file(486 bytes)我正在合作。我将用完整的dfXMLUTF8输出向第一张海报授予正确答案。谢谢!
更新:
好吧,我刚刚开始从头项目,我认为我有几分设置。我已经加入uses DBClient;
,var ClientDataSet1: TClientDataSet
,最后的步骤:
ClientDataSet1.LoadFromFile('C:\Documents and Settings\XPMUser\Desktop\DelphiCDS\Master.cds');
ClientDataSet1.SaveToFile('C:\Documents and Settings\XPMUser\Desktop\DelphiCDS\output.XML', dfXMLUTF8);
它引发以下错误:
Access violation at address 004588B6 in module 'Project.exe'. Read of address 00000000.
UPDATE2:
这是我结束了:
unit Script3;
interface
uses
Forms, DBClient;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
CDS: TClientDataSet;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
CDS := TClientDataSet.Create(nil);
try
CDS.LoadFromFile('.\input.cds');
CDS.SaveToFile('.\output.xml', dfXMLUTF8);
finally
CDS.Free;
end;
end;
end.
当您说“我收到错误”时,如果您在问题文本中实际提供了**错误**,这非常有用,因为我们无法从我们所在的位置看到您的屏幕。请编辑您的问题,并提供您正在收到的**确切**错误消息。谢谢。 –
我给你**特定的代码**关于如何在我的答案下面的代码中创建和使用'TClientDataSet'。如果你得到访问违规,你没有使用我发布的代码。请再读一遍;你显然错过了'CDS:= TClientDataSet.Create(nil)'和'CDS.Free;'部分。 –