#!/usr/bin/python linux中指明脚本运行的解释器
# -*- coding:utf-8 -*- 或者 # coding:utf-8
str = '''
<?xml version="1.0"
encoding="utf-8"?>
<root>
<person
age="18">
<name>name_text18</name>
<sex>sex_text18</sex>
</person>
<person age="19"
des="hello">
<name>name_text19</name>
<sex>sex_text19</sex>
</person>
</root>
'''
from xml.etree import ElementTree
class MyXmlParse:
""" A xml parse class
"""
def
__init__(self):
print self.__doc__
def
print_node(self,node):
'''打印节点基本信息'''
print "-----------------------"
print "node.attrib:%s" % node.attrib
if node.attrib.has_key("age") > 0 :
print
"node.attrib['age']:%s" % node.attrib['age']
print "node.tag:%s" % node.tag
print "node.text:%s" % node.text
def
read_xml(self,text):
'''读取xml内容'''
root = ElementTree.fromstring(text)
# 通过getiterator
list_node = root.getiterator("person")
for node in list_node:
self.print_node(node)
# 通过getchildren
list_node_child =
list_node[0].getchildren()[0]
self.print_node(list_node_child)
# find方法
node_find = root.find('person')
self.print_node(node_find)
# findall方法
node_findall =
root.findall("person/name")[1]
self.print_node(node_findall)
#if __name__ ==
'__main__':
#self.read_xml('')
obj = MyXmlParse()
obj.read_xml(str)