xml处理模块

几乎所有语言都支持xml,python也不例外,目前xml渐渐被json所取代,但是仍有一些行业和系统在使用,简单介绍下python处理xml

import  xml.etree.ElementTree as ET

tree = ET.parse("xml文件") #读取xml文件
root = tree.getroot() #获取xml对象
print(root.tag) #获取xml根

#遍历xml
for child in root:
print(child.tag,child.attrib)
for i in child:
print(i.tag,i.attrib,i.text)

#只遍历某个节点
for node in root.iter("节点名"):
print(node.tag,node.text)

#修改xml文档内容

for node in root.iter("节点名"):
node.text = "内容" #修改内容
node.set("属性名称","属性内容") #添加一个属性
tree.write("xml文件") #写会文件

#删除node
for node in root.findall("节点名"):
root.remove("节点") #删除一个属性
tree.write("xml文件") #写会文件

写xml文件:
new_xml = ET.Element("namelist")   #根节点
name = ET.SubElement(new_xml, "name" ,attrib = {"enrolled":"yes"}) #new_xml的子节点
age = ET.SubElement(name, "age" , attrib = {"checked":"no"}) #name的子节点
sex = ET.SubElement(name, "sex")
age.text = '33' #赋值
name2 = ET.SubElement(new_xml, "name" ,attrib = {"enrolled":"no"}) #new_xml的子节点
age = ET.SubElement(name2,"age")

et = ET.ElementTree(new_xml) #生成文档对象
et.write("test.xml",encoding="utf-8",xml_declaration=True)

ET.dump(new_xml) #打印生成的格式
posted @ 2017-10-18 21:19  第七王爵  阅读(265)  评论(0编辑  收藏  举报