按一定条件提取xml 数据
- <科目余额及发生额>
<会计期间号>1</会计期间号>
<科目编号>100202</科目编号>
<期初余额方向>贷</期初余额方向>
<期初本币余额>1.00</期初本币余额>
</科目余额及发生额>
- <科目余额及发生额>
<会计期间号>5</会计期间号>
<科目编号>30010101</科目编号>
<期初余额方向>贷</期初余额方向>
<期初本币余额>10.00</期初本币余额>
</科目余额及发生额>
- <凭证>
<会计期间号>1</会计期间号>
<科目编号>100203</科目编号>
< 记账凭证摘要>贷顶顶顶顶</ 记账凭证摘要>
< 借方本币余额>153708.68</借方本币余额>
</凭证>
</科目余额及发生额>
- <科目余额及发生额>
<会计期间号>1</会计期间号>
<科目编号>10020303</科目编号>
<期初余额方向>贷</期初余额方向>
<期初本币余额>8.68</期初本币余额>
</科目余额及发生额>
<会计期间号>1</会计期间号>
<科目编号>100202</科目编号>
<期初余额方向>贷</期初余额方向>
<期初本币余额>1.00</期初本币余额>
</科目余额及发生额>
- <科目余额及发生额>
<会计期间号>5</会计期间号>
<科目编号>30010101</科目编号>
<期初余额方向>贷</期初余额方向>
<期初本币余额>10.00</期初本币余额>
</科目余额及发生额>
- <凭证>
<会计期间号>1</会计期间号>
<科目编号>100203</科目编号>
< 记账凭证摘要>贷顶顶顶顶</ 记账凭证摘要>
< 借方本币余额>153708.68</借方本币余额>
</凭证>
</科目余额及发生额>
- <科目余额及发生额>
<会计期间号>1</会计期间号>
<科目编号>10020303</科目编号>
<期初余额方向>贷</期初余额方向>
<期初本币余额>8.68</期初本币余额>
</科目余额及发生额>
程序代码:
import xml.dom.minidom as xx import os,xlwt,datetime # path=os.path.abspath('.') # data_path=os.path.join(path,'GL.xml') dom = xx.parse('GL.xml') root = dom.documentElement list_ye = root.getElementsByTagName("科目余额及发生额") kmbm_len = 14 # bb= list_ye[] for m in list_ye: kjqjh_ye = m.getElementsByTagName('会计期间号')[0] kjqjh_ye_z = kjqjh_ye.childNodes[0].data kmbm_ye = m.getElementsByTagName('科目编号')[0] kmbm_ye_z = kmbm_ye.childNodes[0].data fx_ye = m.getElementsByTagName('期初余额方向')[0] fx_ye_z = fx_ye.childNodes[0].data qc_ye = m.getElementsByTagName('期初本币余额')[0] qc_ye_z = qc_ye.childNodes[0].data if kjqjh_ye_z == '1' : print(kjqjh_ye_z) print(kmbm_ye_z) print(fx_ye_z) print(qc_ye_z) else: continue
要求: 1)打印出</科目余额及发生额> 中 并且要求 <会计期间号> == 1 提取出(科目编号,期初余额方向,期初本币余额)
2)打印出</科目余额及发生额> 中 并且要求 <会计期间号> == 1 and len(科目编号) ==8 str(科目编号,6) sum(期初本币余额) 提取出(科目编号,期初余额方向,sum(期初本币余额))
3)打印出</科目余额及发生额> 中 并且要求 <会计期间号> == 1 and len(科目编号) ==6 str(科目编号,4) sum(期初本币余额) 提取出(科目编号,期初余额方向,sum(期初本币余额))
结果 :
科目编号 期初余额方向 期初本币余额
100202 贷 1.00
10020303 贷 8.68
100203 贷 8.68
1002 贷 9.68
请高手帮忙看看
[此贴子已经被作者于2021-9-8 11:17编辑过]