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获取糗百图片代码实例
Dec 18 Python
测试、预发布后用python检测网页是否有日常链接
Jun 03 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
May 15 Python
Python正规则表达式学习指南
Aug 02 Python
JSONLINT:python的json数据验证库实例解析
Nov 28 Python
详解用TensorFlow实现逻辑回归算法
May 02 Python
python脚本监控Tomcat服务器的方法
Jul 06 Python
python如何查看微信消息撤回
Nov 27 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
May 05 Python
python中的单引号双引号区别知识点总结
Jun 23 Python
python集成开发环境配置(pycharm)
Feb 14 Python
python GUI计算器的实现
Oct 09 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 日期时间处理函数小结
2009/12/18 PHP
PHP第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
PHP CURL获取cookies模拟登录的方法
2013/11/04 PHP
利用“多说”制作留言板、评论系统
2015/07/14 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
xml和web特殊字符
2009/04/28 Javascript
javascript 不间断的图片滚动并可点击
2010/01/15 Javascript
jquery插件开发之实现google+圈子选择功能
2014/03/10 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
基于jQuery Bar Indicator 插件实现进度条展示效果
2015/09/30 Javascript
基于javascript制作微信聊天面板
2020/08/09 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
javascript创建对象的3种方法
2016/11/02 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
2017/11/17 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
今天 平安夜 Python 送你一顶圣诞帽 @微信官方
2017/12/25 Python
对Python多线程读写文件加锁的实例详解
2019/01/14 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
python 对字典按照value进行排序的方法
2019/05/09 Python
三个python爬虫项目实例代码
2019/12/28 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
美国女性奢华品牌精品店:INTERMIX
2017/10/12 全球购物
全球性的奢侈品梦工厂:Forzieri(福喜利)
2019/02/20 全球购物
美津浓巴西官方网站:Mizuno巴西
2019/07/24 全球购物
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
玩手机检讨书1000字
2014/10/20 职场文书