先虚拟一个测试文件: test.xml; 放在 c:\temp\ 下备用. <?xml version="1.0" encoding="gb2312"?> <科室名单 备注="测试"> <人员 职务="科长" 备注="正局级"> <姓名>张三</姓名> <性别>男</性别> <年龄>34</年龄> </人员> <人员 职务="付科长"> <姓名>李四</姓名>
<性别>女</性别> <年龄>43</年龄> </人员> <人员> <姓名>王五</姓名> <性别>女</性别> <年龄>25</年龄> </人员> <人员> <姓名>孙六</姓名> <性别>男</性别> <年龄>52</年龄> </人员> <辅助人员></辅助人员>
</科室名单>
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);
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);
这篇博客详细介绍了如何在 Delphi 中使用 XMLDocument 类来读取 XML 文件。通过 `LoadFromFile`、`FileName` 激活、`LoadFromStream` 方法载入 XML 数据,并展示了从本地文件和网络加载 XML 的示例。同时提到了如果需要在浏览器中查看 XML 文件,可以利用 ShellAPI 的 `ShellExecute` 函数。
1196

被折叠的 条评论
为什么被折叠?



