PHP前端开发

深入了解python之XML操作

百变鹏仔 3小时前 #Python
文章标签 操作

这篇文章主要介绍了深入了解python之Xml操作,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

读取xml内容:

 -*- coding:utf-8 -*-# Author: Evan Miimport xml.etree.ElementTree as ETtree = ET.parse('test.xml')root = tree.getroot()print(root.tag)# 一个节点有tag、attrib、text三个值# tag是标签的名字# text是标签的内容# attrib是标签属性的字典,通过字典的get('key')来获取对应的属性的值# 直接for chile in parent 来遍历节点下的子节点for child in root:    print(child.tag, child.attrib)    for elem in child:        print(elem.tag, elem.text, elem.attrib)# 只遍历year节点for node in root.iter('year'):    print(node.tag, node.text)

生成xml内容:

# -*- coding:utf-8 -*-# Author: Evan Miimport xml.etree.ElementTree as ETnew_xml = ET.Element('namelist')name = ET.SubElement(new_xml, 'name', attrib={'enrolled': 'yes'})age = ET.SubElement(name, 'age', attrib={'checked': 'no'})sex = ET.SubElement(name, 'sex')sex.text = '33'name2 = ET.SubElement(new_xml, 'name', attrib={'enrolled': 'no'})age = ET.SubElement(name2, 'age')age.text = '19'et = ET.ElementTree(new_xml)  # 生成文档对象et.write('te.xml', encoding='utf-8', xml_declaration=True)ET.dump(new_xml)  # 打印生成的格式

修改、删除xml内容:

# -*- coding:utf-8 -*-# Author: Evan Miimport xml.etree.ElementTree as ETtree = ET.parse('test.xml')root = tree.getroot()# 修改for node in root.iter('year'):    new_year = int(node.text) + 1    node.text = str(new_year)   # 修改内容    node.set("updated", "yes")  # 修改属性tree.write('tt.xml')# 删除for country in root.findall('country'):    rank = int(country.find('rank').text)    if rank > 50:        root.remove(country)tree.write('tt1.xml')