python讀寫xml文件實例詳解嘛
更新時間:2022年03月03日 09:11:20 作者:單單一個越字
這篇文章主要為大家詳細介紹了python讀寫xml文件的實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
xml文件:country.xml
<data> <country name="shdi2hajk">231 <rank>1<NewNode A="1">This is NEW</NewNode></rank> <year>2008</year> <gdppc>141100</gdppc> <neighbor direction="E" name="Austria" /> <neighbor direction="W" name="Switzerland" /> </country> <country name="Singapore"> <rank>4</rank> <year>2011</year> <gdppc>59900</gdppc> <neighbor direction="N" name="Malaysia" /> </country> <country name="Panama"> <rank>68</rank> <year>2011</year> <gdppc>13600</gdppc> <neighbor direction="W" name="Costa Rica" /> <neighbor direction="E" name="Colombia" /> </country> <MediaPlatformService height="165" ip="36.32.160.199" passWord="111" port="9084" userName="admin" width="220"> </MediaPlatformService> </data>
xml文件解讀
1.xml一個節(jié)點有三個屬性:tag、text、attrib 2. 以第一個子節(jié)點country為例: 3. tag代表節(jié)點名字,country節(jié)點的tag就是它的名字:country 4. text代表節(jié)點文本內(nèi)容,rank節(jié)點的text就是1 5. attrib代表節(jié)點包含的屬性,以{屬性:值}這樣的字典形式存放。country節(jié)點的屬性是{name:Liechtenstein}.name是屬性的鍵,Liechtenstein是屬性的值。{屬性:值}就是一個字典類型,可以使用一切字典方法。 6. country節(jié)點的tag為country,attrib為{name:Liechtenstein},text為空 7. rank節(jié)點的tag為rank,attrib為空字典,text為1 8. 綜上所述,xml文檔主要由節(jié)點以及節(jié)點的三個屬性組成。
讀取文件:
import xml.etree.ElementTree as ET file_path = r'xml_te.xml' tree = ET.ElementTree(file = file_path) #讀取xml文件 print(tree.iter()) for i in tree.iter('rank'): #迭代獲取tag為'rank'的節(jié)點 print(i.text) nodes = tree.find('country') #獲取第一個tag為country的節(jié)點,返回是子節(jié)點的迭代對象 print(nodes.tag) nodes2 = tree.findall('country') #獲取所有tag為country的節(jié)點 print(nodes2) for node in nodes2: #打印節(jié)點的三個屬性 print(node.tag) print(node.attrib) print(node.text)
增加新節(jié)點及修改屬性值和文本
import xml.etree.ElementTree as ET file_path = r'xml_te.xml' tree = ET.ElementTree(file = file_path) #讀取xml文件 # root = tree.getroot() #獲取根結(jié)點 """增加新節(jié)點""" net = ET.Element('NewNode') net.attrib = {'A':"1"} #節(jié)點屬性 net.text = "This is NEW" #節(jié)點文本 node = tree.find('country/rank/NewNode') #找到需要增加子節(jié)點的父節(jié)點 node.append(net) print(node.text) tree.write(file_path) #寫入文件 """修改屬性值""" sub = tree.find('country') #找到節(jié)點 sub.set('name',"shdi2hajk") #set(key,new value) sub.text = '231' print(sub.attrib) print(sub.text) tree.write(file_path) #寫入文件
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Python面向?qū)ο缶幊剃P(guān)鍵深度探索類與對象
這篇文章主要為大家介紹了Python面向?qū)ο缶幊剃P(guān)鍵深度探索類與對象示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05python數(shù)據(jù)庫操作mysql:pymysql、sqlalchemy常見用法詳解
這篇文章主要介紹了python數(shù)據(jù)庫操作mysql:pymysql、sqlalchemy常見用法,結(jié)合實例形式分析了Python mysql操作庫pymysql、sqlalchemy基本使用技巧與操作注意事項,需要的朋友可以參考下2020-03-03在python中利用KNN實現(xiàn)對iris進行分類的方法
今天小編就為大家分享一篇在python中利用KNN實現(xiàn)對iris進行分類的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12