python支不支持用xml读写
这篇文章主要介绍python支不支持用xml读写,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
由于Python对XML读写有多种库,本文以xml.etree import ElementTree为例。
解析
fromxml.etreeimportElementTreeasET############解析方式一#############打开文件,读取XML内容str_xml=open('xo.xml','r').read()#利用ElementTree.XML将字符串解析成xml对象,root代指xml文件的根节点root=ET.XML(str_xml)
操作XML
XML遍历
fromxml.etreeimportElementTreeasET############解析方式二#############直接解析xml文件tree=ET.parse("xo.xml")#获取xml文件的根节点root=tree.getroot()###操作#顶层标签print(root.tag)#遍历XML文档的第二层forchildinroot:#第二层节点的标签名称和标签属性print(child.tag,child.attrib)#遍历XML文档的第三层foriinchild:#第二层节点的标签名称和内容print(i.tag,i.text)#遍历XML中所有的year节点fornodeinroot.iter('year'):#节点的标签名称和内容print(node.tag,node.text)#修改:将year节点中的内容自增一new_year=int(node.text)+1node.text=str(new_year)#设置属性node.set('name','alex')node.set('age','18')#删除属性delnode.attrib['name']#遍历data下的所有country节点forcountryinroot.findall('country'):#获取每一个country节点下rank节点的内容rank=int(country.find('rank').text)ifrank>50:#删除指定country节点root.remove(country)############保存文件############tree=ET.ElementTree(root)tree.write("new.xml",encoding='utf-8')##可能需要的调整格式fromxml.domimportminidomdefxmlwrite(root,filepath)rough_string=ET.tostring(root,'utf-8')reparsed=minidom.parseString(rough_string)raw_str=reparsed.toprettyxml(indent='',newl="")output=open(filepath,'w+',encoding='utf-8')output.write('<?xmlversion="1.0"encoding="UTF-8"?>\n<!DOCTYPEtopicPUBLIC"-//OASIS//DTDDITATopic//EN""topic.dtd">')output.write(raw_str)output.close()
每个节点都具有以上方法,通过root可以操作整个xml文件。
以上是python支不支持用xml读写的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。