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定时器使用示例分享
Feb 16 Python
跟老齐学Python之玩转字符串(2)
Sep 14 Python
python实现矩阵乘法的方法
Jun 28 Python
Python实现的简单hangman游戏实例
Jun 28 Python
Python端口扫描简单程序
Nov 10 Python
Django admin美化插件suit使用示例
Dec 12 Python
python中yield的用法详解——最简单,最清晰的解释
Apr 04 Python
python查找重复图片并删除(图片去重)
Jul 16 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
如何把外网python虚拟环境迁移到内网
May 18 Python
python中 _、__、__xx__()区别及使用场景
Jun 30 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
如何使用GDB调试PHP程序
2015/12/08 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
让插入到 innerHTML 中的 script 跑起来的实现代码
2006/07/01 Javascript
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
2007/03/10 Javascript
RGB颜色值转HTML十六进制(HEX)代码的JS函数
2009/04/25 Javascript
用队列模拟jquery的动画算法实例
2015/01/20 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
元素全屏的设置与监听实例
2017/11/28 Javascript
浅谈SpringMVC中post checkbox 多选框value的值(隐藏域方式)
2018/01/08 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
[02:07]DOTA2超级联赛专访BBC:难忘网吧超神经历
2013/06/09 DOTA
[01:03:38]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS CIS
2014/05/22 DOTA
[05:26]TI10典藏宝瓶套装外观展示
2020/07/03 DOTA
Python可变参数用法实例分析
2017/04/02 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
PyQt5每天必学之切换按钮
2020/08/20 Python
10 行 Python 代码教你自动发送短信(不想回复工作邮件妙招)
2018/10/11 Python
Python使用贪婪算法解决问题
2019/10/22 Python
Python下应用opencv 实现人脸检测功能
2019/10/24 Python
Python函数基本使用原理详解
2020/03/19 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
The North Face北面美国官网:美国著名户外品牌
2018/09/15 全球购物
Otticanet美国:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
do you have any Best Practice for testing
2016/06/04 面试题
国家奖学金获奖感言
2014/08/16 职场文书
演讲比赛的活动方案
2014/08/28 职场文书
英文道歉信
2015/01/20 职场文书
小学教师年度个人总结
2015/02/05 职场文书
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技