python對XML文件的操作實(shí)現(xiàn)代碼
python對XML文件的操作
1、xml 創(chuàng)建
import xml.etree.ElementTree as ET
new_xml=ET.Element('personinfolist') #最外面的標(biāo)簽名
personinfo=ET.SubElement(new_xml,'personinfo',attrib={'enrolled':'aaa'}) #對應(yīng)的參數(shù)是:父級標(biāo)簽是誰,當(dāng)前標(biāo)簽名,當(dāng)前標(biāo)簽屬性與值
name=ET.SubElement(personinfo,'name')
name.text='xaoming'
age=ET.SubElement(personinfo,'age',attrib={'checked':'yes'})
age.text='23'
personinfo2=ET.SubElement(new_xml,'personinfo',attrib={'enrolled':'bbb'})
name=ET.SubElement(personinfo2,'name')
name.text='xaokong'
age=ET.SubElement(personinfo2,'age',attrib={'checked':'no'})
age.text='20'
et=ET.ElementTree(new_xml)
et.write('text1.xml',encoding='utf-8',xml_declaration=True)#生成text1.xml
2、xml 數(shù)據(jù)查詢
import xml.etree.ElementTree as ET
tree=ET.parse('text1.xml')
root=tree.getroot()
print(root.tag)
#遍歷 xml 文檔
for i in root:
print(i.tag,i.attrib) # tag是指標(biāo)簽名,attrib 是指標(biāo)簽里的屬性,text 是指標(biāo)簽內(nèi)容
for j in i:
print(j.tag,j.attrib,j.text)
for k in j:
print(k.tag,k.attrib,k.text)
#只遍歷 year 標(biāo)簽
for w in root.iter('year'): #只遍歷指定標(biāo)簽
print(w.tag,w.text)
3、xml 數(shù)據(jù)修改
import xml.etree.ElementTree as ET
tree=ET.parse('text1.xml')
root=tree.getroot()
print(root.tag)
#修改 xml
for node in root.iter('year'): #要修改的標(biāo)簽
new_year=int(node.text)+1
node.text=str(new_year)
node.set('updsted_by','kong') #給這個(gè)標(biāo)簽(year)添加新的屬性 key:value
tree.write('text1.xml') #再吧數(shù)據(jù)寫回去
4、xml 數(shù)據(jù)刪除
import xml.etree.ElementTree as ET
tree=ET.parse('text1.xml')
root=tree.getroot()
for country in root.findall('country'): #會(huì)取這個(gè)標(biāo)簽所有的數(shù)據(jù)
rank=int(country.find('rank').text)
if rank > 50:
root.remove(country) #刪除數(shù)據(jù)
tree.write('output.xml') #再把數(shù)據(jù)寫回文件
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)的線性回歸算法示例【附csv文件下載】
這篇文章主要介紹了Python實(shí)現(xiàn)的線性回歸算法,涉及Python使用最小二乘法、梯度下降算法實(shí)現(xiàn)線性回歸相關(guān)算法操作與使用技巧,需要的朋友可以參考下2018-12-12
解決python3 HTMLTestRunner測試報(bào)告中文亂碼的問題
今天小編就為大家分享一篇解決python3 HTMLTestRunner測試報(bào)告中文亂碼的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
python中將數(shù)據(jù)生成為Excel文件的5種方法舉例
工作中需要把數(shù)據(jù)導(dǎo)入到excel中,記錄一下操作方式,這篇文章主要給大家介紹了關(guān)于python中將數(shù)據(jù)生成為Excel文件的5種方法,文中通過圖文以及代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10
解決pycharm運(yùn)行程序出現(xiàn)卡住scanning files to index索引的問題
今天小編就為大家分享一篇解決pycharm運(yùn)行程序出現(xiàn)卡住scanning files to index索引的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
django報(bào)錯(cuò)設(shè)置auth User的解決
本文主要介紹了django報(bào)錯(cuò)設(shè)置auth User的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Python函數(shù)參數(shù)分類使用與新特性詳細(xì)分析講解
在聲明函數(shù)的時(shí)候,一般會(huì)根據(jù)函數(shù)所要實(shí)現(xiàn)的功能來決定函數(shù)是否需要參數(shù)。在多數(shù)情況下,我們聲明的函數(shù)都會(huì)使用到參數(shù),這篇文章主要介紹了Python函數(shù)參數(shù)2023-01-01
Python數(shù)據(jù)類型之String字符串實(shí)例詳解
這篇文章主要介紹了Python數(shù)據(jù)類型之String字符串,結(jié)合實(shí)例形式詳細(xì)講解了Python字符串的概念、定義、連接、格式化、轉(zhuǎn)換、查找、截取、判斷等常見操作技巧,需要的朋友可以參考下2019-05-05
django實(shí)現(xiàn)模板中的字符串文字和自動(dòng)轉(zhuǎn)義
這篇文章主要介紹了django實(shí)現(xiàn)模板中的字符串文字和自動(dòng)轉(zhuǎn)義,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03

