开发者社区> 老朱教授> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C# 通过ImportNode AppendChild方法合并XmlDocument,XML转为DataTable
var doc1 = new XmlDocument(); var doc2 = new XmlDocument(); XmlNode root1 = doc1.DocumentElement; doc2.Load(new XmlNodeReader(myXmlNode2)); foreach (XmlNode node in doc2.DocumentElement.ChildNodes) { // 将节点从另一个文档导入到当前文档。
736 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载