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

简介:
<? 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);



本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/08/27/1809862.html,如需转载请自行联系原作者
相关文章
|
8天前
|
XML Java 数据库连接
mybatis中在xml文件中通用查询结果列如何使用
mybatis中在xml文件中通用查询结果列如何使用
9 0
|
10天前
|
XML JavaScript 前端开发
xml文件使用及解析
xml文件使用及解析
|
29天前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
11 0
|
25天前
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
Mybatis+mysql动态分页查询数据案例——配置映射文件(HouseDaoMapper.xml)
14 1
|
29天前
|
XML Java 数据格式
使用java解析XML文件的步骤
使用java解析XML文件的步骤
10 0
|
30天前
|
Java
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
java实现遍历树形菜单方法——映射文件VoteTree.hbm.xml
9 0
|
1月前
|
Kubernetes Cloud Native Java
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
Activiti 简介以及最新activiti依赖 pom.xml文件(使用时注意对应版本号)
37 1
|
30天前
|
XML Java 数据库连接
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——hibernate的config文件(hibernate.cfg.xml)
10 0
|
2月前
|
XML JavaScript 数据格式
打开 XML 文件报错 There is no Unicode byte order mark
打开 XML 文件报错 There is no Unicode byte order mark
41 0
|
2月前
|
XML 存储 数据格式
什么是 XML 文件的 Schema
什么是 XML 文件的 Schema
25 0