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 27 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
python下调用pytesseract识别某网站验证码的实现方法
Jun 06 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
numpy中实现二维数组按照某列、某行排序的方法
Apr 04 Python
python 爬虫 批量获取代理ip的实例代码
May 22 Python
如何更优雅地写python代码
Jul 02 Python
python3安装OCR识别库tesserocr过程图解
Apr 02 Python
Django权限设置及验证方式
May 13 Python
python程序如何进行保存
Jul 03 Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 Python
详解python实现可视化的MD5、sha256哈希加密小工具
Sep 14 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函数
2006/10/09 PHP
PHP 源代码压缩小工具
2009/12/22 PHP
php feof用来识别文件末尾字符的方法
2010/08/01 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
Jquery动态更改一张位图的src与Attr的使用
2013/07/31 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
jQuery选择器源码解读(五):tokenize的解析过程
2015/03/31 Javascript
Bootstrap每天必学之响应式导航、轮播图
2016/04/25 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
jQuery Masonry瀑布流布局神器使用详解
2017/05/25 jQuery
vue项目中引入noVNC远程桌面的方法
2018/03/05 Javascript
Vue实现自定义下拉菜单功能
2018/07/16 Javascript
原生js无缝轮播插件使用详解
2020/03/09 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
python实现从网络下载文件并获得文件大小及类型的方法
2015/04/28 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
详谈Numpy中数组重塑、合并与拆分方法
2018/04/17 Python
python使用Matplotlib绘制分段函数
2018/09/25 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
python爬虫容易学吗
2020/06/02 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
利用纯CSS3实现tab选项卡切换示例代码
2016/09/21 HTML / CSS
广州迈达威.net面试题目
2012/03/10 面试题
2019年分享net面试的经历和题目
2016/08/07 面试题
会计学生自我鉴定
2014/02/06 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
六一儿童节开幕词
2015/01/29 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
python 遍历磁盘目录的三种方法
2021/04/02 Python
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
python 单机五子棋对战游戏
2022/04/28 Python
python基础之//、/与%的区别详解
2022/06/10 Python