python对XML文件的操作实现代码
python对XML文件的操作
1、xml创建
importxml.etree.ElementTreeasET new_xml=ET.Element('personinfolist')#最外面的标签名 personinfo=ET.SubElement(new_xml,'personinfo',attrib={'enrolled':'aaa'})#对应的参数是:父级标签是谁,当前标签名,当前标签属性与值 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数据查询
importxml.etree.ElementTreeasET tree=ET.parse('text1.xml') root=tree.getroot() print(root.tag) #遍历xml文档 foriinroot: print(i.tag,i.attrib)#tag是指标签名,attrib是指标签里的属性,text是指标签内容 forjini: print(j.tag,j.attrib,j.text) forkinj: print(k.tag,k.attrib,k.text) #只遍历year标签 forwinroot.iter('year'):#只遍历指定标签 print(w.tag,w.text)
3、xml数据修改
importxml.etree.ElementTreeasET tree=ET.parse('text1.xml') root=tree.getroot() print(root.tag) #修改xml fornodeinroot.iter('year'):#要修改的标签 new_year=int(node.text)+1 node.text=str(new_year) node.set('updsted_by','kong')#给这个标签(year)添加新的属性key:value tree.write('text1.xml')#再吧数据写回去
4、xml数据删除
importxml.etree.ElementTreeasET tree=ET.parse('text1.xml') root=tree.getroot() forcountryinroot.findall('country'):#会取这个标签所有的数据 rank=int(country.find('rank').text) ifrank>50: root.remove(country)#删除数据 tree.write('output.xml')#再把数据写回文件
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。