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')

posted on 2018-08-13 21:22  海龟先生  阅读(204)  评论(0编辑  收藏  举报

导航