python的学习(五)---- 处理xml文件

python处理xml文件
一、使用minidom模块处理xml
传统的利用xml.dom中minidom模块,处理xml文件
1)创建一个xml文档
#import
from xml.dom import minidom
#create doc对象
doc = minidom.Document()
#建立根节点并设置属性
rootNode = doc.createElement_x("root")
rootNode.setAttribute("id",r"test_taskId_001")
#建立子节点
testNode = doc.createElement_x("testNode")
testNode.a(doc.createTextNode("testDescription"))
rootNode.a(testNode)
doc.a(rootNode)
#生成xml文件输出
f = file("request.xml","w")
doc.writexml(f)
f.close()
2)解析XML文档
#import 模块
from xml.dom import minidom, Node

#从文件中读取doc对象
doc = minidom.parse("request.xml")
for child in doc.childNodes:
    if child.nodeType == Node.ELEMENT_NODE:
        child.getAttribute("id")
xml.minidom模块是对xml处理的基本实现,就目前的理解,其对节点的增加与读取都是根据数据流顺序处理的

二、使用ElementTree,处理XML文件
ElementTree相对读取解析功能更为强大,可以动态插入并查找所需的子节点信息
#import模块 
from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import Element
from xml.etree.ElementTree import SubElement as SE
#读取节点
tree = ElementTree("request.xml")
root = tree.getroot()
#插入子节点
item = Element("item",{"id":"001"})
root.append(item)
或者
SE(root, 'item', {"id":"001"})
#查找子节点
item.find()
item.getchildren() 类似于minidom需遍历查找
#操作属性
获取某个属性
root.find('item/id').text
item.get('id')
获取所有属性
item.items()
item.attrib

你可能感兴趣的:(xml,python,tree,File,文档,import)