G
gao_jx
Unregistered / Unconfirmed
GUEST, unregistred user!
本人最近在做一个xml文件解析的项目,用的是Delphi 7,但是小弟对xml文件的解析十分头晕,希望
得到高手们的援助,不然小弟要下岗了,希望提供详细的解析代码,下面的xml文件解析后将数据分别
存储在对账要素表和对账单表中。
对账单表:
序号 中文名 英文名 类型(宽度,精度) 取值约束 空否 默认值 主键/外键 索引否
1. 年度 SET_YEAR Number(4) Not
2. 对账单号 AUDIT_NO Varchar(20) Not 主键
3. 资金性质内码 MK_CODE Varchar2(42)
4. 资金性质外码 MK_DISP_CODE Varchar2(42)
5. 资金性质名称 MK_NAME Varchar2(60)
6. 预算单位内码 EN_CODE Varchar2(42)
7. 预算单位外码 EN_DISP_CODE Varchar2(42)
8. 预算单位名称 EN_NAME Varchar2(60)
9. 业务处室内码 MB_CODE Varchar2(42)
10. 业务处室外码 MB_DISP_CODE Varchar2(42)
11. 业务处室名称 MB_NAME Varchar2(60)
12. 制单人编码 USER_CODE Varchar2(28)
13. 制单人姓名 USER_NAME Varchar2(60)
14. 制单时间 GENERATE_DATE Varchar2(20)
对账要素表:
序号 中文名 英文名 类型(宽度,精度) 取值约束 空否 默认值 主键/外键 索引否
1. 要素字段名 ELEMENT_NAME Varchar2(60) Not 主键
2. 要素中文名称 ELEMENT_CNAME Varchar2(60)
3. 要素字段类型 FEILD_TYPE Varchar2(20) Not
4. 要素类别 ELEMENT_TYPE Varchar2(20) Not
<?xml version="1.0" encoding="GBK" ?>
- <ROOT>
- <SEND>
<SETYEAR>2005</SETYEAR>
<SENDER>F</SENDER>
<RECIPIENTS>E</RECIPIENTS>
- <DATA DATATYPE="5001" DESCRIPTION="对账要素">
- <OBJECT NAME="fe_budget_element" DESCRIPTION="对账要素">
- <RECORD>
<ATTRIBUTE NAME="ELEMENT_NAME" TYPE="2" DESCRIPTION="要素字段名">en_code</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_CNAME" TYPE="2" DESCRIPTION="要素中文名称">预算单位编码</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_TYPE" TYPE="2" DESCRIPTION="要素类别">varchar2(42)</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="ELEMENT_NAME" TYPE="2" DESCRIPTION="要素字段名">en_name</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_CNAME" TYPE="2" DESCRIPTION="要素中文名称">预算单位名称</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_TYPE" TYPE="2" DESCRIPTION="要素类别">varchar2(60)</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="ELEMENT_NAME" TYPE="2" DESCRIPTION="要素字段名">en_disp_code</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_CNAME" TYPE="2" DESCRIPTION="要素中文名称">预算单位外码</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_TYPE" TYPE="2" DESCRIPTION="要素类别">varchar2(42)</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="ELEMENT_NAME" TYPE="2" DESCRIPTION="要素字段名">budget_money</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_CNAME" TYPE="2" DESCRIPTION="要素中文名称">指标金额</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_TYPE" TYPE="2" DESCRIPTION="要素类别">NUMBER(16,2)</ATTRIBUTE>
</RECORD>
</OBJECT>
</DATA>
</SEND>
- <SEND>
<SENDER>F</SENDER>
<RECIPIENTS>E</RECIPIENTS>
- <DATA DATATYPE="1001" DESCRIPTION="财政—预算单位指标新对账单">
- <OBJECT NAME="fe_budget_bill" DESCRIPTION="指标对账单">
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_CODE" TYPE="2" DESCRIPTION="EN_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_DISP_CODE" TYPE="2" DESCRIPTION="EN_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_NAME" TYPE="2" DESCRIPTION="EN_NAME">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="MK_CODE" TYPE="2" DESCRIPTION="MK_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MK_DISP_CODE" TYPE="2" DESCRIPTION="MK_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MK_NAME" TYPE="2" DESCRIPTION="MK_NAME">预算内</ATTRIBUTE>
<ATTRIBUTE NAME="MB_CODE" TYPE="2" DESCRIPTION="MB_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MB_DISP_CODE" TYPE="2" DESCRIPTION="MB_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MB_NAME" TYPE="2" DESCRIPTION="MB_NAME">农牧处</ATTRIBUTE>
<ATTRIBUTE NAME="USER_CODE" TYPE="2" DESCRIPTION="USER_CODE">002</ATTRIBUTE>
<ATTRIBUTE NAME="USER_NAME" TYPE="2" DESCRIPTION="USER_NAME">111</ATTRIBUTE>
<ATTRIBUTE NAME="GENERATE_DATE" TYPE="2" DESCRIPTION="GENERATE_DATE">1月</ATTRIBUTE>
- <OBJECT NAME="fe_budget_doing" DESCRIPTION="fe_budget_doing">
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000001</ATTRIBUTE>
<ATTRIBUTE NAME="en_code" TYPE="2" DESCRIPTION="en_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="en_name" TYPE="2" DESCRIPTION="en_name">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="en_disp_code" TYPE="2" DESCRIPTION="en_disp_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="budget_money" TYPE="1" DESCRIPTION="指标金额">2000.0</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000001</ATTRIBUTE>
<ATTRIBUTE NAME="en_code" TYPE="2" DESCRIPTION="en_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="en_name" TYPE="2" DESCRIPTION="en_name">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="en_disp_code" TYPE="2" DESCRIPTION="en_disp_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="budget_money" TYPE="1" DESCRIPTION="指标金额">1000.0</ATTRIBUTE>
</RECORD>
</OBJECT>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000002</ATTRIBUTE>
<ATTRIBUTE NAME="EN_CODE" TYPE="2" DESCRIPTION="EN_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_DISP_CODE" TYPE="2" DESCRIPTION="EN_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_NAME" TYPE="2" DESCRIPTION="EN_NAME">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="MK_CODE" TYPE="2" DESCRIPTION="MK_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MK_DISP_CODE" TYPE="2" DESCRIPTION="MK_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MK_NAME" TYPE="2" DESCRIPTION="MK_NAME">预算内</ATTRIBUTE>
<ATTRIBUTE NAME="MB_CODE" TYPE="2" DESCRIPTION="MB_CODE">002</ATTRIBUTE>
<ATTRIBUTE NAME="MB_DISP_CODE" TYPE="2" DESCRIPTION="MB_DISP_CODE">002</ATTRIBUTE>
<ATTRIBUTE NAME="MB_NAME" TYPE="2" DESCRIPTION="MB_NAME">社保处</ATTRIBUTE>
<ATTRIBUTE NAME="USER_CODE" TYPE="2" DESCRIPTION="USER_CODE">003</ATTRIBUTE>
<ATTRIBUTE NAME="USER_NAME" TYPE="2" DESCRIPTION="USER_NAME">222</ATTRIBUTE>
<ATTRIBUTE NAME="GENERATE_DATE" TYPE="2" DESCRIPTION="GENERATE_DATE">1月</ATTRIBUTE>
- <OBJECT NAME="fe_budget_doing" DESCRIPTION="fe_budget_doing">
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000002</ATTRIBUTE>
<ATTRIBUTE NAME="en_code" TYPE="2" DESCRIPTION="en_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="en_name" TYPE="2" DESCRIPTION="en_name">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="en_disp_code" TYPE="2" DESCRIPTION="en_disp_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="budget_money" TYPE="1" DESCRIPTION="指标金额">3000.0</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000002</ATTRIBUTE>
<ATTRIBUTE NAME="en_code" TYPE="2" DESCRIPTION="en_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="en_name" TYPE="2" DESCRIPTION="en_name">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="en_disp_code" TYPE="2" DESCRIPTION="en_disp_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="budget_money" TYPE="1" DESCRIPTION="指标金额">4000.0</ATTRIBUTE>
</RECORD>
</OBJECT>
</RECORD>
</OBJECT>
</DATA>
</SEND>
</ROOT>
得到高手们的援助,不然小弟要下岗了,希望提供详细的解析代码,下面的xml文件解析后将数据分别
存储在对账要素表和对账单表中。
对账单表:
序号 中文名 英文名 类型(宽度,精度) 取值约束 空否 默认值 主键/外键 索引否
1. 年度 SET_YEAR Number(4) Not
2. 对账单号 AUDIT_NO Varchar(20) Not 主键
3. 资金性质内码 MK_CODE Varchar2(42)
4. 资金性质外码 MK_DISP_CODE Varchar2(42)
5. 资金性质名称 MK_NAME Varchar2(60)
6. 预算单位内码 EN_CODE Varchar2(42)
7. 预算单位外码 EN_DISP_CODE Varchar2(42)
8. 预算单位名称 EN_NAME Varchar2(60)
9. 业务处室内码 MB_CODE Varchar2(42)
10. 业务处室外码 MB_DISP_CODE Varchar2(42)
11. 业务处室名称 MB_NAME Varchar2(60)
12. 制单人编码 USER_CODE Varchar2(28)
13. 制单人姓名 USER_NAME Varchar2(60)
14. 制单时间 GENERATE_DATE Varchar2(20)
对账要素表:
序号 中文名 英文名 类型(宽度,精度) 取值约束 空否 默认值 主键/外键 索引否
1. 要素字段名 ELEMENT_NAME Varchar2(60) Not 主键
2. 要素中文名称 ELEMENT_CNAME Varchar2(60)
3. 要素字段类型 FEILD_TYPE Varchar2(20) Not
4. 要素类别 ELEMENT_TYPE Varchar2(20) Not
<?xml version="1.0" encoding="GBK" ?>
- <ROOT>
- <SEND>
<SETYEAR>2005</SETYEAR>
<SENDER>F</SENDER>
<RECIPIENTS>E</RECIPIENTS>
- <DATA DATATYPE="5001" DESCRIPTION="对账要素">
- <OBJECT NAME="fe_budget_element" DESCRIPTION="对账要素">
- <RECORD>
<ATTRIBUTE NAME="ELEMENT_NAME" TYPE="2" DESCRIPTION="要素字段名">en_code</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_CNAME" TYPE="2" DESCRIPTION="要素中文名称">预算单位编码</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_TYPE" TYPE="2" DESCRIPTION="要素类别">varchar2(42)</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="ELEMENT_NAME" TYPE="2" DESCRIPTION="要素字段名">en_name</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_CNAME" TYPE="2" DESCRIPTION="要素中文名称">预算单位名称</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_TYPE" TYPE="2" DESCRIPTION="要素类别">varchar2(60)</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="ELEMENT_NAME" TYPE="2" DESCRIPTION="要素字段名">en_disp_code</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_CNAME" TYPE="2" DESCRIPTION="要素中文名称">预算单位外码</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_TYPE" TYPE="2" DESCRIPTION="要素类别">varchar2(42)</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="ELEMENT_NAME" TYPE="2" DESCRIPTION="要素字段名">budget_money</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_CNAME" TYPE="2" DESCRIPTION="要素中文名称">指标金额</ATTRIBUTE>
<ATTRIBUTE NAME="ELEMENT_TYPE" TYPE="2" DESCRIPTION="要素类别">NUMBER(16,2)</ATTRIBUTE>
</RECORD>
</OBJECT>
</DATA>
</SEND>
- <SEND>
<SENDER>F</SENDER>
<RECIPIENTS>E</RECIPIENTS>
- <DATA DATATYPE="1001" DESCRIPTION="财政—预算单位指标新对账单">
- <OBJECT NAME="fe_budget_bill" DESCRIPTION="指标对账单">
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_CODE" TYPE="2" DESCRIPTION="EN_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_DISP_CODE" TYPE="2" DESCRIPTION="EN_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_NAME" TYPE="2" DESCRIPTION="EN_NAME">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="MK_CODE" TYPE="2" DESCRIPTION="MK_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MK_DISP_CODE" TYPE="2" DESCRIPTION="MK_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MK_NAME" TYPE="2" DESCRIPTION="MK_NAME">预算内</ATTRIBUTE>
<ATTRIBUTE NAME="MB_CODE" TYPE="2" DESCRIPTION="MB_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MB_DISP_CODE" TYPE="2" DESCRIPTION="MB_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MB_NAME" TYPE="2" DESCRIPTION="MB_NAME">农牧处</ATTRIBUTE>
<ATTRIBUTE NAME="USER_CODE" TYPE="2" DESCRIPTION="USER_CODE">002</ATTRIBUTE>
<ATTRIBUTE NAME="USER_NAME" TYPE="2" DESCRIPTION="USER_NAME">111</ATTRIBUTE>
<ATTRIBUTE NAME="GENERATE_DATE" TYPE="2" DESCRIPTION="GENERATE_DATE">1月</ATTRIBUTE>
- <OBJECT NAME="fe_budget_doing" DESCRIPTION="fe_budget_doing">
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000001</ATTRIBUTE>
<ATTRIBUTE NAME="en_code" TYPE="2" DESCRIPTION="en_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="en_name" TYPE="2" DESCRIPTION="en_name">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="en_disp_code" TYPE="2" DESCRIPTION="en_disp_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="budget_money" TYPE="1" DESCRIPTION="指标金额">2000.0</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000001</ATTRIBUTE>
<ATTRIBUTE NAME="en_code" TYPE="2" DESCRIPTION="en_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="en_name" TYPE="2" DESCRIPTION="en_name">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="en_disp_code" TYPE="2" DESCRIPTION="en_disp_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="budget_money" TYPE="1" DESCRIPTION="指标金额">1000.0</ATTRIBUTE>
</RECORD>
</OBJECT>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000002</ATTRIBUTE>
<ATTRIBUTE NAME="EN_CODE" TYPE="2" DESCRIPTION="EN_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_DISP_CODE" TYPE="2" DESCRIPTION="EN_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="EN_NAME" TYPE="2" DESCRIPTION="EN_NAME">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="MK_CODE" TYPE="2" DESCRIPTION="MK_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MK_DISP_CODE" TYPE="2" DESCRIPTION="MK_DISP_CODE">001</ATTRIBUTE>
<ATTRIBUTE NAME="MK_NAME" TYPE="2" DESCRIPTION="MK_NAME">预算内</ATTRIBUTE>
<ATTRIBUTE NAME="MB_CODE" TYPE="2" DESCRIPTION="MB_CODE">002</ATTRIBUTE>
<ATTRIBUTE NAME="MB_DISP_CODE" TYPE="2" DESCRIPTION="MB_DISP_CODE">002</ATTRIBUTE>
<ATTRIBUTE NAME="MB_NAME" TYPE="2" DESCRIPTION="MB_NAME">社保处</ATTRIBUTE>
<ATTRIBUTE NAME="USER_CODE" TYPE="2" DESCRIPTION="USER_CODE">003</ATTRIBUTE>
<ATTRIBUTE NAME="USER_NAME" TYPE="2" DESCRIPTION="USER_NAME">222</ATTRIBUTE>
<ATTRIBUTE NAME="GENERATE_DATE" TYPE="2" DESCRIPTION="GENERATE_DATE">1月</ATTRIBUTE>
- <OBJECT NAME="fe_budget_doing" DESCRIPTION="fe_budget_doing">
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000002</ATTRIBUTE>
<ATTRIBUTE NAME="en_code" TYPE="2" DESCRIPTION="en_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="en_name" TYPE="2" DESCRIPTION="en_name">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="en_disp_code" TYPE="2" DESCRIPTION="en_disp_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="budget_money" TYPE="1" DESCRIPTION="指标金额">3000.0</ATTRIBUTE>
</RECORD>
- <RECORD>
<ATTRIBUTE NAME="SET_YEAR" TYPE="1" DESCRIPTION="年度">2005</ATTRIBUTE>
<ATTRIBUTE NAME="AUDIT_NO" TYPE="2" DESCRIPTION="AUDIT_NO">2005000002</ATTRIBUTE>
<ATTRIBUTE NAME="en_code" TYPE="2" DESCRIPTION="en_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="en_name" TYPE="2" DESCRIPTION="en_name">单位1</ATTRIBUTE>
<ATTRIBUTE NAME="en_disp_code" TYPE="2" DESCRIPTION="en_disp_code">001</ATTRIBUTE>
<ATTRIBUTE NAME="budget_money" TYPE="1" DESCRIPTION="指标金额">4000.0</ATTRIBUTE>
</RECORD>
</OBJECT>
</RECORD>
</OBJECT>
</DATA>
</SEND>
</ROOT>