读取xml

在网上找了一堆,也看了很多,发现暂时只有这个符合自己的期望,原地址:http://blog.csdn.net/kbkiss_1/article/details/5786718

# !usr/bin/python 
# coding: utf-8
# 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('protocol_config.xml')   
p.ParseFile(f)   
f.close()   

此代码可以将我用xmlspy2010创建的xml直接解析出来,同样折文档,用此博文中的代码,解析为空:http://www.cnblogs.com/lgcf/archive/2009/09/25/1573863.html

具体原因尚未细查,后面有时间需仔细看看前面这个代码的实际效用。

 

posted @ 2012-07-27 00:05  绿色的麦田  阅读(205)  评论(0编辑  收藏  举报