Delphi使用TXMLDocument控件解析XML文件教程
本文主要介绍了Delphi编程环境中TXMLDocument控件的使用方法,通过一个XML实例展示了如何读取、写入和操作XML文件。TXMLDocument是Delphi提供的一个强大的XML处理组件,它简化了对XML数据的操作,相比直接使用MSXML2_TLB接口更加方便。 在Delphi中,TXMLDocument控件可以用来创建、加载和保存XML文档。首先,创建一个TXMLDocument对象,可以指定XML文件路径作为构造函数参数,如`TXMLDocument.Create(F:\Work\ǵļ\task\XML\lab_xml\country.xml);`。如果不提供文件路径,可以通过`LoadFromFile`方法加载XML文件,例如`Xml.LoadFromFile(F:\Work\ǵļ\task\XML\lab_xml\country.xml);`。 加载XML文件后,设置`FileName`属性可以关联到XML文件,`Xml.FileName := F:\Work\ǵļ\task\XML\lab_xml\country.xml;`。激活`Active`属性 (`Xml.active:=true;`) 会确保XML文档的内容与文件保持同步,这样可以实现从文件加载或保存到文件的动态更新。 为了读取和操作XML文档中的数据,可以使用TXMLDocument的内置方法和属性。例如,可以遍历XML的节点树,访问或修改属性值,添加、删除或移动节点。对于示例中的XML文档,`<XMLPackage>`是根节点,包含子节点`<clinetinfo>`、`<data>`、`<memo>`和`<Actions>`。每个`<row>`节点表示一条记录,具有`id`、`name`、`sex`、`age`和`duty`属性。 若要保存修改后的XML文档,调用`SaveToFile`方法将当前XML文档保存回文件,如`Xml.SaveToFile(F:\Work\ǵļ\task\XML\lab_xml\country.xml);`。值得注意的是,如果XML文档没有被激活(`Active`为`false`),则修改不会持久化到文件,只有激活后才会生效。 TXMLDocument控件是Delphi中处理XML的强大工具,它可以轻松地进行XML文件的读写、节点操作以及属性修改,大大简化了XML数据处理的过程。在实际开发中,开发者可以根据需求灵活运用TXMLDocument的各种功能来实现XML数据的管理和交换。
Delphi中对XML文件的解析做的很好,比直接使用MS的MSXML2_TLB中的接口要方便很多,现称述于下面。
在讲之前先给出一个XML实例,在讲某些部分是要结合实例比较容易理解。
1<?xml version="1.0" encoding="gb2312"?> <!--文档版本信息, 注释格式同HTML-->
2 <XMLPackage>
3 <clinetinfo ip=”202.101.100.90” handler=”si” unit=”江苏网商软件”/>
4 <data>
5 <row id=”1” name="太阳" sex=”男” age="24" duty="软件工程师"/>
6 <row id=”2” name="月亮" sex=”女” age="25" duty="部门经理"/>
7<!--data中包含了元素 row的两个实例,通过属性id予以区分 -->
8 </data>
9 <memo length=”16” color=” $0034494B”>Hello! I am yaya! </memo> <!-- 这个元素中间包含的内容成为Text,而且也含有两个属性 length, color, 当然也可以没有属性 -- >
10 <Actions acition=”update/insert”/> <!―该元素描述了一动作控制信息-->
11</XMLPackage>
TXMLDocument控件提供了我们两种常用做法:一、直接用这个类封装的属性和方法来读写XML文件,我把它称为自己解析法;二、用控件提供的XML Data Binding Wizard来创建一个适合用户自己的接口单元,然后按照这个接口单元提供的许多接口来实现对同类XML文件的读写,十分方便,但有局限性,我把它称为控件解析法。我重点讲第一种使用方法。
一、自己解析法:
下面我将按创建、读取、修改、添加和删除这五个动作来分三类讲述。
(1)创建和添加:
首先要创建XML实例,可以这样动态创建:
TXMLDocument.Create(‘F:\Work\费亚的文件\task\XML\lab_xml\country.xml’);
也可以这样动态创建:
xml:= TXMLDocument.Create(nil);
Xml. LoadFromFile(‘F:\Work\费亚的文件\task\XML\lab_xml\country.xml’);
当然也可以从Internet面板上拖放一个TXMLDocument控件,然后再为FileName或XML属性赋值,比如对象名仍然叫xml(下都不说明都这样默认):
Xml.FileName:= F:\Work\费亚的文件\task\XML\lab_xml\country.xml;
至于它的另一个属性XML是用来直接赋XML语言,这个用法对我们暂不重要。创建完XML实例后要注意打开Active属性:
Xml.active:=true;
这样下面对文件的读写操作才有效。如果没有XML文件可以用来创建XML的实例,即要建立XML文件,可以选择在上面一句之后,对XML实例操作,操作完毕之后加上:
Xml.SaveToFile(‘F:\Work\费亚的文件\task\XML\lab_xml\country.xml’);
下载后可阅读完整内容,剩余2页未读,立即下载
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全