日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

TClientDataSet[28]: 读写其他格式的 XML 文件

發(fā)布時間:2025/4/14 asp.net 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TClientDataSet[28]: 读写其他格式的 XML 文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

TClientDataSet 可以直接存取的 XML 有自己的格式規(guī)范, 存取其他格式 XML 需要相應(yīng)的映射文件(*.xtr).

這種 *.xtr 文件是用 XML Mapper(Delphi 自帶, 可從開始菜單或 IDE -> Tools 啟動)制作的.

一般會需要兩個 *.xtr 文件, 一個用于讀取(例子中是: ToDp.xtr), 一個用于寫入(例子中是: ToXml.xtr).

可以通過 *.xtr 文件只讀寫源 XML 中的部分?jǐn)?shù)據(jù), 如果讀取過于復(fù)雜的 XML 會生成嵌套的 DataSet 字段.

下面演示 ToXml.xtr、ToDp.xtr 的制作過程, 假如源文件(Test.xml)如下:

<?xml version="1.0" encoding="gb2312"?> 張三男33李四女44王五女55孫六男66備用



然后通過 TXMLTransformProvider 或 TXMLTransform 都可以讓 TClientDataSet 讀寫此 XML 了.

先用 TXMLTransformProvider:

//先添加控件: ClientDataSet1、DataSource1、DBGrid1、XMLTransformProvider1、Button1, 然后:procedure TForm1.FormCreate(Sender: TObject); beginChDir('C:\Temp\DelphiTest\'); { 三個相關(guān)文件都放這了 }{ 數(shù)據(jù)控件掛接 }DBGrid1.DataSource := DataSource1;DataSource1.DataSet := ClientDataSet1;ClientDataSet1.ProviderName := 'XMLTransformProvider1'; { 數(shù)據(jù)提供者 }{ 讀取轉(zhuǎn)換; 包括下面的屬性都可在設(shè)計時設(shè)置 }XMLTransformProvider1.TransformRead.TransformationFile := 'ToDp.xtr';{ 寫入轉(zhuǎn)換 }XMLTransformProvider1.TransformWrite.TransformationFile := 'ToXML.xtr';{ 源文件 }XMLTransformProvider1.XMLDataFile := 'Test.xml';{ 打開 }ClientDataSet1.Open; end;{ 數(shù)據(jù)編輯后, 保存到源文件 } procedure TForm1.Button1Click(Sender: TObject); beginClientDataSet1.ApplyUpdates(0); end;
特別是在只讀或只寫的情況下用 TXMLTransform 更好, 下面是用 TXMLTransform 讀取的例子:

//先添加控件: ClientDataSet1、DataSource1、DBGrid1、XMLTransform1, 然后:procedure TForm1.FormCreate(Sender: TObject); beginChDir('C:\Temp\DelphiTest\');DBGrid1.DataSource := DataSource1;DataSource1.DataSet := ClientDataSet1;XMLTransform1.SourceXmlFile := 'Test.xml';XMLTransform1.TransformationFile := 'ToDp.xtr';ClientDataSet1.XMLData := XMLTransform1.Data; end;

轉(zhuǎn)載于:https://www.cnblogs.com/del/archive/2010/02/10/1667051.html

總結(jié)

以上是生活随笔為你收集整理的TClientDataSet[28]: 读写其他格式的 XML 文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。