使用xml.etree.ElementTree读写xml
(2011-04-25 17:24:50)
标签:
it |
分类: Linux |
一
基本知识
1、插入节点
Element.insert(index, element)
、Element(tag[,
2、删除节点
Element.remove(subelement)
删除一个节点、Element.clear()删除该节点下所有子节点
3、在节点中插入属性
Element.set(key, value)
4、查找节点
a)
Element.getiterator
二
1)xml为
<?xml version ="1.0" encoding ="UTF-8"?>
<employees>
<employee id = '1'>
<name>linux</name>
<age>30</age>
</employee>
<employee id = '2'>
<name>windows</name>
<age>20</age>
</employee>
</employees>
2)python脚本为
from xml.etree import ElementTree
def print_node(node):
print "====================================="
for key,value in node.items():
print "%s:%s" % (key, value)
for subnode in node.getchildren():
print "%s:%s" % (subnode.tag, subnode.text)
def read_xml(text = '', xmlfile = ''):
#root = ElementTree.parse(xmlfile)
root = ElementTree.fromstring(text)
# 1 getiterator([tag=None])
# only elements whose tag equals tag are returned from the iterator
eitor = root.getiterator( "employee")
for e in eitor:
print_node(e)
# 2 getchildren()
# Returns all subelements
eitor = root.getchildren()
for e in eitor:
print_node(e)
# 3 findall(match)
# Finds all subelements matching match.
# match may be a tag name or path. Returns an iterable yielding all matching elements
node_findall = root.findall( "employee")
for e in node_findall:
print_node(e)
# 4 find(match)
# Finds the first subelement matching match.
# match may be a tag name or path. Returns an element instance or None
node_find = root.find( 'employee')
print_node(node_find)
if __name__ == '__main__':
read_xml(open( "employees.xml").read())
前一篇:python用Dom解析XML
后一篇:有木有?!!!

加载中…