python--xml模块
#==========================================>查
import xml.etree.ElementTree as ET #导包,重命名
# tree=ET.parse('a.xml') #将a.xml文件解析成一棵树
# root=tree.getroot() #得到根节点
#三种查找节点的方式
# res=root.iter('rank') # iter会在整个树中进行查找,而且是查找到所有
# for item in res:
# # print(item)
# print('='*50)
# print(item.tag) # 标签名
# print(item.attrib) #属性
# print(item.text) #文本内容
# res=root.find('country') # find只能在当前元素的下一级开始查找。并且只找到一个就结束
# print(res.tag)
# print(res.attrib)
# print(res.text)
# nh=res.find('neighbor')
# print(nh.attrib)
# cy=root.findall('country') # findall只能在当前元素的下一级开始查找,但是会去找所有的
# print([item.attrib for item in cy])
xml文件的几种操作:改,增,删
#==========================================>改
# import xml.etree.ElementTree as ET
# tree=ET.parse('a.xml')
# root=tree.getroot()
#
# for year in root.iter('year'):
# year.text=str(int(year.text) + 10)
# year.attrib={'updated':'yes'}
#
# # tree.write('b.xml') #写到另一个文件里
# tree.write('a.xml')
#==========================================>增
import xml.etree.ElementTree as ET
tree=ET.parse('a.xml')
root=tree.getroot()
for country in root.iter('country'):
# print(country)
year=country.find('year')
# print(year)
if int(year.text) > 2020:
# print(country.attrib)
# ele=ET.Element('Mr.Haigui') #设定标签
# ele.attrib={'nb':'yes'} #设定属性
# ele.text='非常帅' #设定文本内容
# country.append(ele) #增加操作
country.remove(year) #删除操作
tree.write('b.xml')