PythonTip >> 博文 >> python

解析xml文本

zihua 2014-04-01 15:04:50 点击: 705 | 收藏


# parsexml.py  
# 本例子参考自python联机文档,做了适当改动和添加  
  
import xml.parsers.expat  
  
# 控制打印缩进  
level = 0  
  
# 获取某节点名称及属性值集合  
def start_element(name, attrs):  
	global level  
	print '  '*level, 'Start element:', name, attrs  
	level = level + 1  
  
# 获取某节点结束名称  
def end_element(name):  
	global level  
	level = level - 1  
	print '  '*level, 'End element:', name  
	  
# 获取某节点中间的值  
def char_data(data):  
	if(data == '\n'):  
		return  
	if(data.isspace()):  
		return  
	global level  
	print '  '*level, 'Character data:', data  
  
p = xml.parsers.expat.ParserCreate()  
  
p.StartElementHandler = start_element  
p.EndElementHandler = end_element  
p.CharacterDataHandler = char_data  
p.returns_unicode = False  
  
f = file('sample.xml')  
p.ParseFile(f)  
f.close()

本文章来至源码世界  http://www.ymsky.net/views/35799.shtml
原文链接:http://www.tuicool.com/articles/nyARRn

作者:zihua | 分类: python | 标签: python | 阅读: 705 | 发布于: 2014-04-01 15时 |