TClientDataSet 操作和读入 xml 文件

XML文件的格式如下

<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
<MetaDATA>
<FIELDS>
<FIELD attrname="aaa" fieldtype="string" WIDTH="20"/>
</FIELDS>
<ParaMS/>
</MetaDATA>
<ROWDATA>
<ROW RowState="4" aaa="aaa"/>
<ROW RowState="4" aaa="bbbb"/>
<ROW RowState="4" aaa="cccc"/>
</ROWDATA>
</DATAPACKET>

在 delphi 中,ClientDataSet 可以读取 xml 文件,并将它转换成数据集,要完成这一点,必须在 xml 文件中拥有 dataPacket,也就是根节点的名称必须是 DATAPACKET,并且版本为 2.0
MetaData 用于指出表的字段及参数,字段用 Fields 标识出,格式如
rowData 用于指出实际的数据,它必须与 Fields 中所指示的字段对应起来
做完这些以后,就能够用 ClientDataSet 读写了
ClientDataSet1.FileName := <xml文件名>


配置TClientDataSet

ClientDataSet,DataSource,DBGrid

三者数据源相互绑定,而且ClientDataSet的FileName指向被发现的Xml文档即可!!

而且要配置ClientDataSet的Active为True才能实现数据查看,也可以在代码里面实现Active为True


ClientDataSet 排序

在 DBGRID表格编辑器里面点击OnTitleClick事件,在事件里面写

procedure TForm1.dbGrd1TitleClick(Column: TColumn);
begin
ds1.IndexFieldNames:=Column.FieldName;//表示按照字段名称认排序
end;


ClientDataSet 筛选

procedure TForm1.btn5Click(Sender: TObject); begin ds1.Filter:='aaa='+ QuotedStr('bbb'); //aaa表示字段名,bbb表示字段的某数据 ds1.Filtered := True;//表示执行筛选过程 end;

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念