TClientDataset跟TADOQuery 导入xml格式区别

TClientDataset  XML标准格式:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="ID" fieldtype="i4"/>
<FIELD attrname="Name" fieldtype="string" WIDTH="12"/>
<FIELD attrname="Age" fieldtype="ui2"/>
<FIELD attrname="money" fieldtype="r8"/>
<FIELD attrname="Sex" fieldtype="boolean"/>
</FIELDS>
</METADATA>
<ROWDATA>
<ROW RowState="4" ID="1" Name="张三" Age="33" money="23.89" Sex="TRUE"/>
<ROW RowState="4" ID="2" Name="李四" Age="44" money="185.895" Sex="FALSE"/>
<ROW RowState="4" ID="3" Name="王五" Age="55" money="158.448" Sex="TRUE"/>
<ROW RowState="4" ID="4" Name="刘七" Age="505" money="48.987" Sex="TRUE"/>
<ROW RowState="4" ID="8" Age="585" money="985.5885" Sex="TRUE"/>
<ROW RowState="4" Name="test" Age="575" money="1.898" Sex="TRUE"/>
<ROW RowState="4" ID="19" Name="" Age="589" money="158.358" Sex="TRUE"/>
</ROWDATA>
</DATAPACKET>

TADOQuery XML标准格式:

<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
xmlns:rs='urn:schemas-microsoft-com:rowset'
xmlns:z='#RowsetSchema'>
<s:Schema id='RowsetSchema'>
<s:ElementType name='row' content='eltOnly' rs:updatable='true'>
<s:AttributeType name='ltype' rs:number='1' rs:nullable='true' rs:writeunknown='true' rs:basecatalog='' rs:basetable=''
rs:basecolumn='ltype'>
<s:datatype dt:type='string' dt:maxLength='51'/>
</s:AttributeType>
<s:AttributeType name='dname' rs:number='2' rs:nullable='true' rs:writeunknown='true' rs:basecatalog='' rs:basetable=''
rs:basecolumn='dname'>
<s:datatype dt:type='string' dt:maxLength='51'/>
</s:AttributeType>
<s:AttributeType name='dvalue' rs:number='3' rs:nullable='true' rs:writeunknown='true' rs:basecatalog='' rs:basetable=''
rs:basecolumn='dvalue'>
<s:datatype dt:type='string' dt:maxLength='51'/>
</s:AttributeType>
<s:AttributeType name='dmemo' rs:number='4' rs:writeunknown='true' rs:basecatalog='' rs:basetable='' rs:basecolumn='dmemo'>
<s:datatype dt:type='string' dt:maxLength='41'/>
</s:AttributeType>
<s:AttributeType name='isort' rs:number='5' rs:writeunknown='true' rs:basecatalog='' rs:basetable='' rs:basecolumn='isort'>
<s:datatype dt:type='i4' dt:maxLength='12'/>
</s:AttributeType>
<s:extends type='rs:rowbase'/>
</s:ElementType>
</s:Schema>
<rs:data>
<z:row ltype='bbzt' dname='报备完成' dvalue='报备完成' dmemo='bbzt6'/>
<z:row ltype='bbzt' dname='初审通过' dvalue='初审通过' dmemo='bbzt3'/>
<z:row ltype='bbzt' dname='申请审核' dvalue='申请审核' dmemo='bbzt2'/>
<z:row ltype='bbzt' dname='审核通过' dvalue='审核通过' dmemo='bbzt4'/>
<z:row ltype='bbzt' dname='审核未通过' dvalue='审核未通过' dmemo='bbzt5'/>
<z:row ltype='bbzt' dname='暂存' dvalue='暂存' dmemo='bbzt1'/>
<z:row ltype='bbzt' dname='作废' dvalue='作废' dmemo='bbzt7'/>
<z:row ltype='city' dname='法国' dvalue='法国'/>
<z:row ltype='city' dname='美国' dvalue='美国'/>
<z:row ltype='city' dname='其他国家' dvalue='其他国家'/>
</rs:data>
</xml>

Adoquery的原数据截图:

 

说明:cds导入的xml格式中,如果对应的是string字段,那么WIDTH属性是必须要有的,否则导入不了。WIDTH属性可以通过

getColumnDisplaySize() 方法获取。

 

posted @   IT情深  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示