Day60:用Python解析XML文件(xml.etree.ElementTree)

Day60:用Python解析XML文件(xml.etree.ElementTree)XML eXtensible Markup Language 指可扩展标记语言 被设计用来传输和存储数据 它是 web 发展到一定阶段的必然产物 既具有 SGML 的核心特征 又有着 HTML 的简单特性 还具有明确和结构良好等许多新的特性 文件 cou

欢迎大家来到IT世界,在知识的湖畔探索吧!

XML(eXtensible Markup Language)指可扩展标记语言,被设计用来传输和存储数据。它是web发展到一定阶段的必然产物,既具有SGML的核心特征,又有着HTML的简单特性,还具有明确和结构良好等许多新的特性。

文件country.xml

 <?xml version="1.0"?> <data> <country name="Singapore"> <rank>4</rank> <year>2011</year> <gdppc>59900</gdppc> <neighbor name="Malaysia" direction="N"/> </country> <country name="Panama"> <rank>68</rank> <year>2011</year> <gdppc>13600</gdppc> <neighbor name="Costa Rica" direction="W"/> <neighbor name="Colombia" direction="E"/> </country> </data> 

欢迎大家来到IT世界,在知识的湖畔探索吧!

xml.etree.ElementTree

ElementTree生来就是为了处理XML,它在Python标准库中有两种实现:一种是纯Python实现的,如xml.etree.ElementTree,另一种是速度快一点的xml.etree.cElementTree。注意:尽量使用C语言实现的那种,因为它速度更快,而且消耗的内存更少。在CODE上查看代码片派生到我的代码片

欢迎大家来到IT世界,在知识的湖畔探索吧!try:   import xml.etree.cElementTree as ET except ImportError:   import xml.etree.ElementTree as ET

这是一个让Python不同的库使用相同API的一个比较常用的办法,而从Python 3.3开始ElementTree模块会自动寻找可用的C库来加快速度,所以只需要import xml.etree.ElementTree就可以了。

代码与结果

 #!/usr/bin/evn python #coding:utf-8 try: import xml.etree.cElementTree as ET except ImportError: import xml.etree.ElementTree as ET import sys try: tree = ET.parse("country.xml") #打开xml文档 #root = ET.fromstring(country_string) #从字符串传递xml root = tree.getroot() #获得root节点 except Exception, e: print "Error:cannot parse file:country.xml." sys.exit(1) print root.tag, "---", root.attrib for child in root: print child.tag, "---", child.attrib print "*"*10 print root[0][1].text #通过下标访问 print root[0].tag, root[0].text print "*"*10 for country in root.findall('country'): #找到root节点下的所有country节点 rank = country.find('rank').text #子节点下节点rank的值 name = country.get('name') #子节点下属性name的值 print name, rank #修改xml文件 for country in root.findall('country'): rank = int(country.find('rank').text) if rank > 50: root.remove(country) tree.write('output.xml') 
Day60:用Python解析XML文件(xml.etree.ElementTree)



欢迎大家来到IT世界,在知识的湖畔探索吧!

参考:
https://www.jb51.net/article/63780.htm

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/111959.html

(0)
上一篇 28分钟前
下一篇 18分钟前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信