您的位置:首页 > 编程语言 > Delphi

Delphi中使用XML绑定来操作XML文件

2008-07-08 08:43 519 查看
Delphi中使用XML绑定来操作XML文件

XML文件从前几年一出现,就非常流行,很多软件中都支持把数据保存为XML格式。

XML之所以这么受欢迎,因为它是一个非常简单的并且又是结构化的ASCII文本语言。XML文件的这种特性,使得任何人和任何程序都能很方便的读懂它。

不过XML文件也流行了这么多年了,我却一直没有使用过它,因为:简单一些的数据,我习惯使用ini或自定义一种格式来保存;而复杂或者大量的数据,显然更适合使用数据库来保存。

直到最近写一个程序时,才不得不用到它。

下面就是我写程序时,用到的一些XML文件的编程方法

我用的Delphi还是几年前的Delphi6,刚好Delphi的这个版本开始支持XML文件。

我使用的是Delphi6中的XML绑定来操作XML文件。

首先,我要操作的XML为stock.xml,它是一个关于股票方面的文件,内容如下:

<?xml version="1.0" encoding="gb2312"?>
<StockList>
<StockItem Name="股票名称1" Code="股票代码1">股票例子1</StockItem>
</StockList>

在主菜单上选择File New->Other,然后在仓库中选择XML Data Binding,会启动Delphi的XML绑定向导。

这个向导有三页,在第一页中指定stock.xml

第二页显示了一些树结构和节点数据类型,这里可以修改编码(比如修改前缀)和数据类型映射

第三页显示生成的类和相应接口,Delphi会将这些类和接口生成一个.pas文件,保存它,例如我保存为stock.pas

绑定到这里就完成了,下面就是如何使用Delphi生成的这些类和接口了,也很简单!

在主窗口的uses段中加入stock.pas,并放上一个TXMLDocument控件(在internet页)XMLDocument1,将它的FileName指定为stock.xml

下面的代码取得xml第一只股票的信息:
var
StockList:IXMLStockListType;
StockItem:IXMLStockItemType;
begin
StockList:=GetStockList(XMLDocument1);
StockItem:=StockList.Get_StockItem(0);
Memo1.Lines.Add('Name:'+StockItem.Name);
Memo1.Lines.Add('Code:'+StockItem.Code);
Memo1.Lines.Add('Stock:'+StockItem.Text);
end;

增加一只股票的信息:
var
StockList:IXMLStockListType;
begin
StockList:=GetStockList(XMLDocument1);
with StockList.Add do
begin
Name:='股票名称2';
Code:='股票代码2';
Text:='股票例子2';
end;
XMLDocument1.SaveToFile('stock.xml');//保存更改
end;

删除最后一只股票的信息:
var
StockList:IXMLStockListType;
begin
StockList:=GetStockList(XMLDocument1);
StockList.Delete(StockList.Count-1);
XMLDocument1.SaveToFile('stock.xml');//保存更改
end;

改变第一只股票的信息:
var
StockList:IXMLStockListType;
StockItem:IXMLStockItemType;
begin
StockList:=GetStockList(XMLDocument1);
StockItem:=StockList.Get_StockItem(0);
StockItem.Name:=StockItem.Name+'A';
StockItem.Code:=StockItem.Code+'A';
StockItem.Text:=StockItem.Text+'A';
XMLDocument1.SaveToFile('stock.xml');
end;

建立一个新的xml文件,在其中增加一只股票的信息,并保存为stock2.xml
var
StockList:IXMLStockListType;
begin
StockList:=GetStockList(XMLDocument1);
with StockList.Add do
begin
Name:='股票名称1';
Code:='股票代码1';
Text:='股票例子1';
end;
XMLDocument1.Encoding:='gb2312';
XMLDocument1.SaveToFile('stock2.xml');
end;

这就是Delphi为我们提供的XML数据绑定功能,用它来操作XML文件很方便,也很强大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: