Python中使用SAX解析xml实例

yipeiwu_com6年前Python基础

SAX是一种基于事件驱动的API。利用SAX解析XML文档牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发送事件,如元素开始跟元素结束事件;而事件处理器则负责对事件作出相应,对传递的XML数据进行处理。

实例:

复制代码 代码如下:

import  sys, string from  xml.sax import  handler, make_parser
 
 class  TestHandler(handler.ContentHandler):                       
         def  __init__(self):                                                               
                 pass
                
         def  startDocument(self):           
                 print  "Document Start ..."
               
        def  endDocument(self):                
                print  "Document End ..."
               
        def  startElement(self, name, attrs):
                print  'start tag:', name
               
        def  endElement(self, name):
                print  'end tag:', name    
               
        def  characters(self, chrs):                                                    
                print  chrs
               
    
def  test():    
        handler = TestHandler()    
        parser = make_parser()    
        parser.setContentHandler(handler)
        f = open(sys.argv[1], 'r')    
        parser.parse(f)    
        f.close()
    
if  __name__ == '__main__':
        test()

除了DOM外的另一种读写文件的方式。

相关文章

简单的编程0基础下Python入门指引

简单的编程0基础下Python入门指引

 你曾经想知道计算机是如何工作的吗?尽管我们不能在一篇文章里面教会你所有的东西,但是可以通过学习如何写出你自己的程序来获得一个良好的开端。在这篇Python教程中,你将会学到计...

python3.6环境安装+pip环境配置教程图文详解

python3.6环境安装+pip环境配置教程图文详解

1、python安装可以跨平台 2、有两个版本2.7和3.6,第三方库适用2.7版,两个版本不兼容 windows安装: 第一种方法官网安装: 在官网下载安装包如图: 图下点击是默认下...

使用Python向C语言的链接库传递数组、结构体、指针类型的数据

使用python向C语言的链接库传递数组、结构体、指针类型的数据 由于最近的项目频繁使用python调用同事的C语言代码,在调用过程中踩了很多坑,一点一点写出来供大家参考,我们仍然是使用...

python获取指定时间差的时间实例详解

python获取指定时间差的时间实例详解 在分析数据的时间经常需要截取一定范围时间的数据,比如三天之内,两小时前等等时间要求的数据,因此将该部分经常需要用到的功能模块化,方便以后以后用到...

解决python给列表里添加字典时被最后一个覆盖的问题

如下所示: >>> item={} ; items=[] #先声明一个字典和一个列表,字典用来添加到列表里面 >>> item['index']...