如何遍历root下的所有的child

C:\Users\jeguan\Desktop\FS5000SIPia.xml


<!-- SESSION BEGIN : Thu Jul  2 15:15:11 2015 -->
<ResponseBatch>
<<strong>Response</strong> Status="OKAY" Action="CREATE">
	<FS5000SIPia><pre name="code" class="python">		<<strong>Response</strong> Status="OKAY" Action="CREATE">
			<Test>
			</Test>
		</Response>
	</FS5000SIPia>
</Response>
<<strong>Response</strong> Status="OKAY" Action="CREATE">
	<Test>
		<<strong>Response</strong> Status="OKAY" Action="CREATE">
			<Test>
			</Test>
		</Response>
	</Test>
</Response>
</ResponseBatch>
<!-- SESSION END : Thu Jul  2 15:15:11 2015 -->
 

如何遍历root下的所有的child?


import xml.etree.ElementTree as ET

source = r'C:\Users\jeguan\Desktop\FS5000SIPia.xml'
root = ET.parse(source).getroot()

<span style="font-size:18px;color:#FF0000;">response = root.iter("Response")</span>

# print(root.tag)
# print(root.attrib)
# 
# for child in root:
#     print(child.tag)
#     print(child.attrib)
      
for res in response:
    print(res.attrib)

结果:

{'Action': 'CREATE', 'Status': 'OKAY'}
{'Action': 'CREATE', 'Status': 'OKAY'}
{'Action': 'CREATE', 'Status': 'OKAY'}
{'Action': 'CREATE', 'Status': 'OKAY'}

对比;

import xml.etree.ElementTree as ET

source = r'C:\Users\jeguan\Desktop\FS5000SIPia.xml'
root = ET.parse(source).getroot()

response = root.iter("Response")

for child in root:
    print(child.tag)
    print(child.attrib)
      

Response
{'Status': 'OKAY', 'Action': 'CREATE'}
Response
{'Status': 'OKAY', 'Action': 'CREATE'}


结论: 并没有全部遍历到所的有child,即child的child并没有遍历出来。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值