首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

请教如下xml怎么显示到dbgrid并进一步导到数据库中

2012-03-06 
请问如下xml如何显示到dbgrid并进一步导到数据库中XML code?xml version1.0 encodingGBK?VOUDATA

请问如下xml如何显示到dbgrid并进一步导到数据库中

XML code
<?xml version="1.0" encoding="GBK"?><VOUDATA><vou name="JZ-01-0001"><entity name="HEAD"><field name="VOU_NO" value="JZ-01-0001" /><field name="VOU_TYPE" value="" /><field name="VOU_DESC" value="收通知书" /><field name="VOU_DATE" value="2009-01-04 00:00:00.0" /><field name="INPUTOR" value="张三" /><field name="AUDITOR" value="李四" /><field name="POSTER" value="张三" /></entity><entity name="BODY"><field name="ACC_CODE" value="107" /><field name="DR_AMT" value="914500" /><field name="CR_AMT" value="0" /><field name="VOU_DESC" value="收通知书" /></entity><entity name="BODY"><field name="ACC_CODE" value="4010101" /><field name="DR_AMT" value="0" /><field name="CR_AMT" value="10000" /><field name="VOU_DESC" value="收通知书和支出" /></entity><entity name="BODY"><field name="ACC_CODE" value="4010101" /><field name="DR_AMT" value="0" /><field name="CR_AMT" value="777500" /><field name="VOU_DESC" value="收定额公用支出" /></entity><entity name="BODY"><field name="ACC_CODE" value="4010102" /><field name="DR_AMT" value="0" /><field name="CR_AMT" value="99000" /><field name="VOU_DESC" value="收事业运行人员支出" /></entity><entity name="BODY"><field name="ACC_CODE" value="4010102" /><field name="DR_AMT" value="0" /><field name="CR_AMT" value="24000" /><field name="VOU_DESC" value="收公用支出" /></entity><entity name="BODY"><field name="ACC_CODE" value="4010103" /><field name="DR_AMT" value="0" /><field name="CR_AMT" value="4000" /><field name="VOU_DESC" value="收支出" /></entity></vou><vou name="JZ-01-0002"><entity name="HEAD"><field name="VOU_NO" value="JZ-01-0002" /><field name="VOU_TYPE" value="" /><field name="VOU_DESC" value="提现" /><field name="VOU_DATE" value="2009-01-05 00:00:00.0" /><field name="INPUTOR" value="张三" /><field name="AUDITOR" value="李四" /><field name="POSTER" value="张三" /></entity><entity name="BODY"><field name="ACC_CODE" value="101" /><field name="DR_AMT" value="84342.08" /><field name="CR_AMT" value="0" /><field name="VOU_DESC" value="提现" /></entity><entity name="BODY"><field name="ACC_CODE" value="10201" /><field name="DR_AMT" value="0" /><field name="CR_AMT" value="26115.2" /><field name="VOU_DESC" value="提现" /></entity><entity name="BODY"><field name="ACC_CODE" value="107" /><field name="DR_AMT" value="0" /><field name="CR_AMT" value="58226.88" /><field name="VOU_DESC" value="提现" /></entity></vou></VOUDATA> 



请问类似上面的xml如何转为如下格式到数据库中

VOU_NO VOU_TYPE VOU_DESC VOU_DATE ACC_CODE INPUTOR DR_AMT CR_AMT AUDITOR POSTER
JZ-01-0001 _ 收到账通知书 2009-01-04 00:00:00.0 107 914500 0 张三 李四 张三
JZ-01-0001 _ 收通知书和支出 2009-01-04 00:00:00.0 4010101 0 10000 张三 李四 张三
……
……

是用友A++导出的财务的凭证表,想转成如上所述的格式,显示在DBGrid中,再导入到数据库中(excel或access或SQL serve等)


求思路,有简要代码最好,多谢!


关键是如何生成如上所示的格式,至于显示到dbgrid是后面的事,现在就是不知道思路:head段就一个,但其中的body段有若干个。

[解决办法]

[解决办法]
将DBGrid连接到一个AdoQuery,将XML解析后的值写入到AdoQuery中。
[解决办法]
var
Node: IXMLNode;
XMLDocument1: TXMLDocument;
begin
XMLDocument1.LoadFromFile('XML文件保存路径');
Node := XMLDocument1.DocumentElement;
for I := 0 to GNode.ChildNodes.Count - 1 do
循环取结点操作赋值
end;
大概就是这个意思

热点排行