NATIVEXML

NativeXML

原來一直使用Delphi自帶的TXMLDocument類來進行XML檔案的讀寫,雖然麻煩了一點,但功能上來說還不錯。只是有一個地方讓我實在不舒服 - 每次創建TXMLDocument類實例的時候必須傳入TComponent對象,這就意味著,如果我把對XML檔案的讀寫封裝到一個類裡面,那么在創建這個自定義類的時候就必須也傳入TComponent對象。
我嘗試過很多方法,但是都無法避免,最後試著上網找了找,於是就找到了NativeXML這個庫。
下載之後馬上打開Demo看了看,cool,創建TNativeXML的時候只需要傳入xml檔案路徑就可以,再往下看就讓我開始驚喜了。它已經把大多數操作都封裝好了,而且還具有把任意對象序列化的能力。
比如,你能把整個Form通過 TsdXmlObjectWriter = class(TPersistent) 類存入一個XML檔案,下次再讀取。這樣使得遠程傳輸對象變得很簡單了。
下面就是一個使用NativeXML庫的例子:
目標XML結構:
2000-01-01

delphi 代碼:
procedure WriteTest;
var
xml : TNativeXML;
n_bs : TXMLNode;
begin
//建立根節點
xml := TNativeXml.CreateName('bookshift');
xml.EncodingString := 'GB2312';
//輸出風格為易讀
xml.XmlFormat := xfReadable;

//建立Book節點
n_bs := xml.Root.NodeNew('book');
//寫入Book節點的屬性
n_bs.WriteAttribuiteString('author','test_author');
//建立Book節點下屬date節點並寫入值
n_bs.WriteString('date','2000-01-01');
xml.SaveToFile('test.xml');
end;

打開test.xml檔案看看吧,和上面的格式一摸一樣。
很簡單吧,我用這個庫重寫了原來的XML訪問類,大約節省了40%的代碼量。

相關詞條

相關搜尋

熱門詞條

聯絡我們