• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi中的XMLDocument类详解(3)-读取xml文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
先虚拟一个测试文件: test.xml; 放在 c:\temp\ 下备用. <?xml version="1.0" encoding="gb2312"?>张三姓名&gt; 男性别&gt; 34年龄&gt; 人员&gt; 李四姓名&gt; 女性别&gt; 43年龄&gt; 人员&gt; 王五姓名&gt; 女性别&gt; 25年龄&gt; 人员&gt; 孙六姓名&gt; 男性别&gt; 52年龄&gt; 人员&gt; 辅助人员&gt; 科室名单&gt;
unit Unit1;

interface

uses
  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: LoadFromFile
procedure 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: 指定 LoadFromStream
procedure 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 的方法, 访问网上的 xml
procedure 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);

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap