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实现数值积分的Simpson方法实例分析
Jun 05 Python
python使用Tkinter实现在线音乐播放器
Jan 30 Python
numpy 进行数组拼接,分别在行和列上合并的实例
May 08 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
在Python中调用Ping命令,批量IP的方法
Jan 26 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
Python2.7实现多进程下开发多线程示例
May 31 Python
python3+opencv生成不规则黑白mask实例
Feb 19 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
Python  word实现读取及导出代码解析
Jul 09 Python
Python必备技巧之字符数据操作详解
Mar 23 Python
Django框架中表单的用法
Jun 10 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原理之异常机制
2010/08/21 PHP
php实现的zip文件内容比较类
2014/09/24 PHP
PHP处理会话函数大总结
2015/08/05 PHP
Auntion-TableSort国人写的一个javascript表格排序的东西
2007/11/12 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
在Javascript中 声明时用"var"与不用"var"的区别
2013/04/15 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
深入Vue-Router路由嵌套理解
2018/08/13 Javascript
浅析Vue.js 中的条件渲染指令
2018/11/19 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
讲解Python中的递归函数
2015/04/27 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
python获取磁盘号下盘符步骤详解
2019/06/19 Python
python爬虫中url管理器去重操作实例
2020/11/30 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
经贸日语专业个人求职信范文
2013/12/28 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
2014年庆元旦活动方案
2014/02/15 职场文书
电大奖学金获奖感言
2014/08/14 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
郭明义观后感
2015/06/08 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
涨工资申请书应该怎么写?
2019/07/08 职场文书
公司要求试用期员工提交“述职报告”,该怎么写?
2019/07/17 职场文书
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
2021/04/25 Python
MySQL系列之十二 备份与恢复
2021/07/02 MySQL