Python中使用SAX解析xml实例

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

相关文章

Python3.5基础之NumPy模块的使用图文与实例详解

Python3.5基础之NumPy模块的使用图文与实例详解

本文实例讲述了Python3.5基础之NumPy模块的使用。分享给大家供大家参考,具体如下: 1、简介 2、多维数组——ndarray...

Python 正则表达式实现计算器功能

Python 正则表达式实现计算器功能

需求: 用户输入运算表达式,终端显示计算结果 代码: # !/usr/bin/env/ python3 # -*- coding: utf-8 -*- """用户输入计算表达式,显...

对Python3.6 IDLE常用快捷键介绍

安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器。 IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所...

python实现在IDLE中输入多行的方法

在python命令行模式下,在IDLE中输入多行,例如if  else 使用tab的方式,控制缩进 在最后,连续两个回车,表示结束 >>> if stat...

Python程序员鲜为人知但你应该知道的17个问题

一、不要使用可变对象作为函数默认值复制代码 代码如下:In [1]: def append_to_list(value, def_list=[]):   ...:&n...