ElementTree(元素树)读取xml
1.引包
from xml.etree import ElementTree
2.定义一个xml文件
xmlTest.xml
<?xml version="1.0" encoding="utf-8"?>
<emps>
<emp id="0" sex="male">
<empno value="0000">7369</empno>
<ename>SMITH</ename>
<job>CLERK</job>
</emp>
<emp id="1" sex="female">
<empno value="1111">7499</empno>
<ename>ALLEN</ename>
<job>SALESMAN</job>
</emp>
<emp id="2">
<empno value="2222">7566</empno>
<ename>JONES</ename>
<job>MANAGER</job>
</emp>
<emp id="3">
<empno>75662</empno>
<ename>JONES2</ename>
<job>MANAGER2</job>
<age>33</age>
</emp>
</emps>
3.用ElementTree读取xml文件
ElementTree就像一个轻量级的DOM,具有方便友好的API。代码可用性好,速度快,消耗内存少
#xmlTest2.py
from xml.etree import ElementTree
filename = "xmlTest.xml"
###2.ElementTree
print "2.ElementTree"
root2 = ElementTree.parse(filename) # read xml file
#root2 = ElementTree.fromstring(text) # read string
lst_node = root2.getiterator("emp")
for emp in lst_node:
print "emp.attrib:%s" % emp.attrib
if emp.attrib.has_key('sex') > 0 :
print "emp.attrib['sex']:%s" % emp.attrib['sex']
for child in emp.getchildren():
print child.tag, ":", child.text
print "#################"
4.显示结果
D:\pyProjects>python xmlTest2.py
2.ElementTree
emp.attrib:{'id': '0', 'sex': 'male'}
emp.attrib['sex']:male
empno : 7369
ename : SMITH
job : CLERK
#################
emp.attrib:{'id': '1', 'sex': 'female'}
emp.attrib['sex']:female
empno : 7499
ename : ALLEN
job : SALESMAN
#################
emp.attrib:{'id': '2'}
empno : 7566
ename : JONES
job : MANAGER
#################
emp.attrib:{'id': '3'}
empno : 75662
ename : JONES2
job : MANAGER2
age : 33
#################
D:\pyProjects>