Python中使用SAX解析xml实例


Posted in Python onNovember 21, 2014

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

Python 相关文章推荐
python网络编程学习笔记(五):socket的一些补充
Jun 09 Python
python实现中文分词FMM算法实例
Jul 10 Python
Python使用redis pool的一种单例实现方式
Apr 16 Python
教大家玩转Python字符串处理的七种技巧
Mar 31 Python
Win8.1下安装Python3.6提示0x80240017错误的解决方法
Jul 31 Python
python实现决策树分类(2)
Aug 30 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
Oct 11 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
Nov 20 Python
python 通过麦克风录音 生成wav文件的方法
Jan 09 Python
Pycharm安装并配置jupyter notebook的实现
May 18 Python
opencv 图像滤波(均值,方框,高斯,中值)
Jul 08 Python
浅谈Python实现opencv之图片色素的数值运算和逻辑运算
Jun 23 Python
python sort、sorted高级排序技巧
Nov 21 #Python
python中global与nonlocal比较
Nov 21 #Python
python装饰器decorator介绍
Nov 21 #Python
python多线程操作实例
Nov 21 #Python
Python中的闭包详细介绍和实例
Nov 21 #Python
Python多线程同步Lock、RLock、Semaphore、Event实例
Nov 21 #Python
python多进程操作实例
Nov 21 #Python
You might like
PHP cdata 处理(详细介绍)
2013/07/05 PHP
Linux下安装oracle客户端并配置php5.3
2014/10/12 PHP
PHP内存缓存Memcached类实例
2014/12/08 PHP
Thinkphp5框架ajax接口实现方法分析
2019/08/28 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
js中文逗号转英文实现
2014/02/11 Javascript
iframe实用操作锦集
2014/04/22 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
详解Javascript动态操作CSS
2014/12/08 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
jQuery实现的个性化返回底部与返回顶部特效代码
2015/10/30 Javascript
easyui取消表单实时验证,提交时统一验证的简单实例
2016/11/07 Javascript
js中的面向对象入门
2017/03/06 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
微信小程序radio组件使用详解
2018/01/31 Javascript
微信小程序自定义单项选择器样式
2019/07/25 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
python读取html中指定元素生成excle文件示例
2014/04/03 Python
python基于socket实现网络广播的方法
2015/04/29 Python
python求解水仙花数的方法
2015/05/11 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
2016/02/18 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
2018/05/21 Python
python 基于opencv 实现一个鼠标绘图小程序
2020/12/11 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
俄罗斯女装店:12storeez
2019/10/25 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
AJAX应用和传统Web应用有什么不同
2013/08/24 面试题
给国外客户的邀请函
2014/01/30 职场文书
大学四年个人的自我评价
2014/02/26 职场文书
文明市民先进事迹
2014/05/15 职场文书
竞选班干部演讲稿400字
2014/08/20 职场文书
在酒桌上的敬酒词
2015/08/12 职场文书
Vue接口封装的完整步骤记录
2021/05/14 Vue.js