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外的另一种读写文件的方式。

相关文章

详解Django中CBV(Class Base Views)模型源码分析

详解Django中CBV(Class Base Views)模型源码分析

在view文件中编写一个类,并配置好路由 class Test(View): def get(self, request, *args, **kwargs): return Ht...

基于PyQt4和PySide实现输入对话框效果

基于PyQt4和PySide实现输入对话框效果

今天做了个基于PyQt4和PySide的输入对话框.已放到PyPi中,包名wlab,大家可以使用pip安装: pip install wlab 在程序输入中,有时会要求同时改变多个参...

Python:slice与indices的用法

slice:   eg:     >>>e=[0,1,2,3,4,5,6]     >>>s=slice(2,3)     >>&...

Python正则表达式指南 推荐

Python正则表达式指南 推荐

本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化正则表达式,这些主题...

Django文件存储 默认存储系统解析

Django默认使用的文件存储系统'django.core.files.storage.FileSystemStorage'是一个本地存储系统,由settings中的DEFAULT_FI...