第五周-第11章节-Python3.5-内置模块详解之Xml模块
Python XML操作
XML(可擴(kuò)展性標(biāo)記語(yǔ)言)是一種非常常用的文件類型,主要用于存儲(chǔ)和傳輸數(shù)據(jù)。在編程中,對(duì)XML的操作也非常常見(jiàn)。
本文根據(jù)python庫(kù)文檔中的xml.etree.ElementTree類來(lái)進(jìn)行介紹XML的解析:https://docs.python.org/3.5/library/xml.etree.elementtree.html?
BTW,xml.etree.cElementTree模塊從3.3以后就被棄用了.
XML格式
首先,來(lái)看一下XML所包含的元素類型
1. 標(biāo)簽 <tag>
2. 屬性 <tag ?name="attribute">
3. 數(shù)據(jù) <data>1<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>?
XML操作
-
讀取
-
訪問(wèn)
- 訪問(wèn)Element對(duì)象的標(biāo)簽、屬性和值
-
- 訪問(wèn)子節(jié)點(diǎn)
-
查找操作
- Element元素迭代子元素:Element.iter("tag"),可以羅列該節(jié)點(diǎn)所包含的所有其他節(jié)點(diǎn)(element對(duì)象)
-
- Element.findall("tag"):查找當(dāng)前元素為“tag”的直接子元素
-
- Element.find("tag"):查找為tag的第一個(gè)直接子元素
-
創(chuàng)建xml文件
創(chuàng)建的新文件內(nèi)容為:<root><sub1 name="name attribute" /><sub2>test</sub2></root>
-
修改XML文件
- ElementTree.write("xmlfile"):更新xml文件
- Element.append():為當(dāng)前element對(duì)象添加子元素(element)
- Element.set(key,value):為當(dāng)前element的key屬性設(shè)置value值
- Element.remove(element):刪除為element的節(jié)點(diǎn)
更新完的文件為:<root><sub1 name="New Name" /><sub2>New Value</sub2><NewElement age="20" name="NewElement">This is a new element</NewElement></root>
?
總結(jié)
?XML的操作比較常見(jiàn),當(dāng)然也有很多第三方的庫(kù)可以使用,所需要做的操作無(wú)非就是常用的讀寫xml文件、元素節(jié)點(diǎn)的增刪改查,大家還可以在python官方文檔上學(xué)習(xí)更多的操作。
轉(zhuǎn)載于:https://www.cnblogs.com/pcjbk/p/11042740.html
總結(jié)
以上是生活随笔為你收集整理的第五周-第11章节-Python3.5-内置模块详解之Xml模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Cookie,Session
- 下一篇: linux中快速查找文件