Delphi 中的 XMLDocument 类详解(3) - 读取 xml 文件
来源:互联网 发布:淘宝联盟怎么下载不了 编辑:程序博客网 时间:2024/04/29 03:31
先虚拟一个测试文件: test.xml; 放在 c:/temp/ 下备用.<科室名单 备注="测试"> <人员 职务="科长" 备注="正局级"> <姓名>张三姓名> <性别>男性别> <年龄>34年龄> 人员> <人员 职务="付科长"> <姓名>李四姓名> <性别>女性别> <年龄>43年龄> 人员> <人员> <姓名>王五姓名> <性别>女性别> <年龄>25年龄> 人员> <人员> <姓名>孙六姓名> <性别>男性别> <年龄>52年龄> 人员> <辅助人员>辅助人员>科室名单>
unit Unit1;interfaceuses Classes, Controls, Forms, StdCtrls, XMLDoc, xmldom, XMLIntf, msxmldom;type TForm1 = class(TForm) XMLDocument1: TXMLDocument; Memo1: TMemo; Button1: TButton; Button2: TButton; Button3: TButton; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); end;var Form1: TForm1;implementation{$R *.dfm}//载入方法1: LoadFromFileprocedure TForm1.Button1Click(Sender: TObject);begin XMLDocument1.LoadFromFile('c:/temp/test.xml'); Memo1.Lines := XMLDocument1.XML; {查看}end;//载入方法2: 指定 FileName, 然后激活procedure TForm1.Button2Click(Sender: TObject);begin XMLDocument1.FileName := 'c:/temp/test.xml'; XMLDocument1.Active := True; {激活} Memo1.Lines := XMLDocument1.XML; {查看}end;//载入方法3: 指定 LoadFromStreamprocedure TForm1.Button3Click(Sender: TObject);var ms: TMemoryStream;begin ms := TMemoryStream.Create; ms.LoadFromFile('c:/temp/test.xml'); XMLDocument1.LoadFromStream(ms); ms.Free; Memo1.Lines := XMLDocument1.XML; {查看}end;//可以用 LoadFromFile 或指定 FileName 的方法, 访问网上的 xmlprocedure TForm1.Button4Click(Sender: TObject);begin XMLDocument1.LoadFromFile('http://www.google.com/ig/skins/jr.xml'); Memo1.Lines := XMLDocument1.XML; {查看}end;end.
如果需要用浏览器查看 xml, 需要一个 api 函数: ShellAPI.ShellExecute, 所以先 uses ShellAPI;然后: ShellExecute(Handle, 'open', 'c:/temp/test.xml', nil, nil, SW_NORMAL);