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监控网站运行异常并发送邮件的方法
Mar 13 Python
Python中的Matplotlib模块入门教程
Apr 15 Python
深入理解Python中的内置常量
May 20 Python
放弃 Python 转向 Go语言有人给出了 9 大理由
Oct 20 Python
Python实现返回数组中第i小元素的方法示例
Dec 04 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
Dec 21 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
python excel使用xlutils类库实现追加写功能的方法
May 02 Python
使用python 写一个静态服务(实战)
Jun 28 Python
用python求一重积分和二重积分的例子
Dec 06 Python
基于Tensorflow:CPU性能分析
Feb 10 Python
学会python自动收发邮件 代替你问候女友
May 20 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中的strtr函数使用介绍(str_replace)
2011/10/20 PHP
深入PHP FTP类的详解
2013/06/13 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
php事件驱动化设计详解
2016/11/10 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
javascript[js]获取url参数的代码
2007/10/17 Javascript
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
jquery入门—编写一个导航条(可伸缩)
2013/01/07 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
2017/10/28 jQuery
详解如何更好的使用module vuex
2019/03/27 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
js实现简易计算器功能
2019/10/18 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
[02:02:38]VG vs Mineski Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
python局部赋值的规则
2013/03/07 Python
初学Python函数的笔记整理
2015/04/07 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
浅述python2与python3的简单区别
2018/09/19 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
python绘制雪景图
2019/12/16 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
荣耀商城:HIHONOR
2020/11/03 全球购物
室内设计实习自我鉴定
2013/09/25 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
青岛海底世界导游词
2015/02/11 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
毕业论文致谢词
2015/05/14 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
德劲DE1102数字调谐收音机机评
2022/04/07 无线电