39 - 读取XML节点和属性值

举报
ruochen 发表于 2021/03/29 02:57:35 2021/03/29
【摘要】 在当前目录下有一个products.xml 文件,要求读取该文件中products节点的所有子节点的值以及子节点的属性值 <!-- products.xml --> <root> <products> <product uuid="1234"> <id>10000</id> <name>iphone9</name> <price>9999</price> <...

在当前目录下有一个products.xml 文件,要求读取该文件中products节点的所有子节点的值以及子节点的属性值

<!-- products.xml -->
<root>
	<products>
		<product uuid="1234"> <id>10000</id> <name>iphone9</name> <price>9999</price>
		</product> <product uuid="4321"> <id>20000</id> <name>特斯拉</name> <price>800000</price>
		</product> <product uuid="5678"> <id>30000</id> <name>Mac Pro</name> <price>40000</price>
		</product>
	</products>
</root>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
from xml.etree.ElementTree import parse

doc = parse('products.xml')
print(type(doc))

for item in doc.iterfind('products/product'): id = item.findtext('id') name = item.findtext('name') price = item.findtext('price') uuid = item.get('uuid') print('uuid :', uuid) print('id :', id) print('name :', name) print('price :', price) print('-'*20)

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
<class 'xml.etree.ElementTree.ElementTree'>
uuid : 1234
id : 10000
name : iphone9
price : 9999
--------------------
uuid : 4321
id : 20000
name : 特斯拉
price : 800000
--------------------
uuid : 5678
id : 30000
name : Mac Pro
price : 40000
--------------------

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

40 - xml文档与字典之间的互相转换

文章来源: ruochen.blog.csdn.net,作者:若尘,版权归原作者所有,如需转载,请联系作者。

原文链接:ruochen.blog.csdn.net/article/details/104613528

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。