请问如下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;
大概就是这个意思