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编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
python使用TensorFlow进行图像处理的方法
Feb 28 Python
python pandas 对时间序列文件处理的实例
Jun 22 Python
python format 格式化输出方法
Jul 16 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
python批量爬取下载抖音视频
Jun 17 Python
python写程序统计词频的方法
Jul 29 Python
python pycharm的安装及其使用
Oct 11 Python
python库matplotlib绘制坐标图
Oct 18 Python
python求质数列表的例子
Nov 24 Python
python ftplib模块使用代码实例
Dec 31 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 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
ThinkPHP独立分组使用的注意事项
2014/11/25 PHP
Netbeans 8.2将支持PHP7 更精彩
2016/06/13 PHP
js过滤HTML标签以及空格的思路及代码
2013/05/24 Javascript
用jQuery模拟select下拉框的简单示例代码
2014/01/26 Javascript
实现图片预加载的三大方法及优缺点分析
2014/11/19 Javascript
JS实现网页上随机产生超链接地址的方法
2015/11/09 Javascript
JavaScript必看小技巧(必看)
2016/06/07 Javascript
Javascript将双字节字符转换成单字节字符并计算长度
2016/06/22 Javascript
如何在JS中实现相互转换XML和JSON
2016/07/19 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
vue 项目中使用Loading组件的示例代码
2018/08/31 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
[02:16]DOTA2英雄基础教程 干扰者
2014/01/15 DOTA
Python守护进程用法实例分析
2015/06/04 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
pycharm 安装JPype的教程
2019/08/08 Python
css3中transition属性详解
2014/09/02 HTML / CSS
运动会广播稿200字
2014/01/15 职场文书
打架检讨书300字
2014/02/02 职场文书
优秀幼教自荐信
2014/02/03 职场文书
趣味体育活动方案
2014/02/08 职场文书
生物制药专业自我鉴定
2014/02/19 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
给校长的一封建议书
2014/03/12 职场文书
厨师个人自我鉴定范文
2014/04/19 职场文书
安全标兵事迹材料
2014/08/17 职场文书
公务员年度考核评语
2014/12/31 职场文书
雨花台导游词
2015/02/06 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
礼貌问候语大全
2015/11/10 职场文书
《刷子李》教学反思
2016/02/20 职场文书