我剛剛安裝了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;'部分。 –