终于又能挤出点时间学点 Delphi 了。
学习 NativeXml 的目的: 1、以后再用到 Xml 就准备用它了。 2、学习其内存处理机制。 3、更多了解 Xml 的相关细节。
安装: 把 general 下的 4 个文件和 nativexml 下的 3 个文件复制在一起,然后通过 Tools > Options > Delphi Options > Library > Library path 指定路径就可以了。 可能作者的本意并非如此,但这样很简单。
另外我把 demo\xml_test_files 下的测试文件复制到了 C:\Temp\ 以方便测试。
测试:
xxxxxxxxxxunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Memo1: TMemo;Button1: TButton;Button2: TButton;Button3: TButton;procedure FormCreate(Sender: TObject);procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses NativeXml; //!const xmlFile = 'C:\Temp\xml_test_files\basic.xml'; //测试文件{原样打开}procedure TForm1.FormCreate(Sender: TObject);beginMemo1.Lines.LoadFromFile(xmlFile);end;{使用 NativeXml 打开}procedure TForm1.Button1Click(Sender: TObject);varxml: TNativeXml;beginxml := TNativeXml.Create(nil);xml.LoadFromFile(xmlFile);Memo1.Text := xml.WriteToString;xml.Free;end;{使用缩进}procedure TForm1.Button2Click(Sender: TObject);varxml: TNativeXml;beginxml := TNativeXml.Create(nil);xml.LoadFromFile(xmlFile);xml.XmlFormat := xfReadable; //格式枚举:xfCompact(压缩)、xfReadable(缩进)、xfPreserve(好像暂未处理)Memo1.Text := xml.WriteToString;xml.Free;end;{指定缩进文本}procedure TForm1.Button3Click(Sender: TObject);varxml: TNativeXml;beginxml := TNativeXml.Create(nil);xml.LoadFromFile(xmlFile);xml.IndentString := ' '; //IndentString 属性的默认值是 #9xml.XmlFormat := xfReadable;Memo1.Text := xml.WriteToString;xml.Free;end;end.