<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
參照官方檔案,建立country_data.xml測試檔案,內容如下:
<?xml version="1.0"?> <data> <country name="Liechtenstein"> <rank>1</rank> <year>2008</year> <gdppc>141100</gdppc> <neighbor name="Austria" direction="E"/> <neighbor name="Switzerland" direction="W"/> </country> <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>
使用如下程式碼,將資料讀出,列印
from xml.etree.ElementTree data = ElementTree.ElementTree(file='country_data.xml') country_list = data.findall('country') #找到所有名為‘country'的tag,返回一個Element物件列表。 for country in country_list: name = country.attrib.get('name', '') print name, ' ', for item in country: if item.tag == 'neighbor': name = item.attrib.get('name', '') direction = item.attrib.get('direction', '') print '{0} ({1})'.format(name, direction), ' ', else: print item.text, ' ', print ''
其中
data = ElementTree.ElementTree(file='country_data.xml')
獲得一個ElementTree物件,也可以使用
tree = ElementTree.parse('country_data.xml')
elem.tag | 這個Element物件的名字(tag) |
elem.text | 檔案內容 |
elem.attrib | 屬性值字典 |
elem.tail | 與屬性一起儲存的其他資料 |
elem[n] 返回elem的第n個子元素
elem[n] = new_elem 將elem的第n個子元素更改為不同的元素new_elem
del elem[n] 刪除子元素
len(elem) 子元素的數量
elem.find(path)
elem.getchildren() 按檔案順序返回所有子元素
elem.items()將所有元素的屬性值以(name, value)對列表形式返回
bad.xml為空檔案時,內容如下:
<?xml version="1.0"?>
執行如下python程式碼,遇到xml.parser.expat.ExpatError異常:
import xml.etree.ElementTree as ET ET.parse('bad.xml')
xml.parsers.expat.ExpatError: no element found: line 3, column 0
bad.xml中找不到對應結束標記符時,內容如下:
<?xml version="1.0"?> <note> </Note>
因為區分大小寫,所以</Note> 不能作為<note>的結束標記。
xml.parsers.expat.ExpatError: mismatched tag: line 3, column 2
bad.xml中屬性值未包含在雙引號(")之中時,遇到如下異常:
<?xml version="1.0"?> <note id=hello> </note>
bad.xml中非法符號,在"if salary < 1000 then"語句的‘<',如下:
<?xml version="1.0"?> <note id="hello"> if salary < 1000 then </note
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 2, column 9
以上就是python標準庫ElementTree處理xml的詳細內容,更多關於python ElementTree處理xml的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45