日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學(xué)無(wú)先后,達(dá)者為師

網(wǎng)站首頁(yè) 編程語(yǔ)言 正文

python讀寫(xiě)xml文件實(shí)例詳解嘛_python

作者:?jiǎn)螁我粋€(gè)越字 ? 更新時(shí)間: 2022-05-03 編程語(yǔ)言

xml文件:country.xml


	231
		1This is NEW
		2008
		141100
		  
		
	
	
		4
		2011
		59900
		
	
	
		68
		2011
		13600
		
		
	
	
	

xml文件解讀

1.xml一個(gè)節(jié)點(diǎn)有三個(gè)屬性:tag、text、attrib
2. 以第一個(gè)子節(jié)點(diǎn)country為例:
3. tag代表節(jié)點(diǎn)名字,country節(jié)點(diǎn)的tag就是它的名字:country
4. text代表節(jié)點(diǎn)文本內(nèi)容,rank節(jié)點(diǎn)的text就是1
5. attrib代表節(jié)點(diǎn)包含的屬性,以{屬性:值}這樣的字典形式存放。country節(jié)點(diǎn)的屬性是{name:Liechtenstein}.name是屬性的鍵,Liechtenstein是屬性的值。{屬性:值}就是一個(gè)字典類(lèi)型,可以使用一切字典方法。
6. country節(jié)點(diǎn)的tag為country,attrib為{name:Liechtenstein},text為空
7. rank節(jié)點(diǎn)的tag為rank,attrib為空字典,text為1
8. 綜上所述,xml文檔主要由節(jié)點(diǎn)以及節(jié)點(diǎn)的三個(gè)屬性組成。

讀取文件:

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é)點(diǎn)
    print(i.text)
nodes = tree.find('country') #獲取第一個(gè)tag為country的節(jié)點(diǎn),返回是子節(jié)點(diǎn)的迭代對(duì)象
print(nodes.tag)
nodes2 = tree.findall('country') #獲取所有tag為country的節(jié)點(diǎn)
print(nodes2)
for node in nodes2:
    #打印節(jié)點(diǎn)的三個(gè)屬性
    print(node.tag)
    print(node.attrib)
    print(node.text)

增加新節(jié)點(diǎn)及修改屬性值和文本

import xml.etree.ElementTree as ET
file_path = r'xml_te.xml'
tree = ET.ElementTree(file = file_path)  #讀取xml文件

# root = tree.getroot()  #獲取根結(jié)點(diǎn)
"""增加新節(jié)點(diǎn)"""
net = ET.Element('NewNode')
net.attrib = {'A':"1"}   #節(jié)點(diǎn)屬性
net.text = "This is NEW"   #節(jié)點(diǎn)文本
node = tree.find('country/rank/NewNode')   #找到需要增加子節(jié)點(diǎn)的父節(jié)點(diǎn)
node.append(net)
print(node.text)
tree.write(file_path)  #寫(xiě)入文件
"""修改屬性值"""
sub = tree.find('country')   #找到節(jié)點(diǎn)
sub.set('name',"shdi2hajk")  #set(key,new value)
sub.text = '231'
print(sub.attrib)
print(sub.text)
tree.write(file_path)  #寫(xiě)入文件

總結(jié)

原文鏈接:https://blog.csdn.net/qq_38122800/article/details/123208245

欄目分類(lèi)
最近更新