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基础教程之lambda表达式使用方法
Feb 12 Python
基于python 爬虫爬到含空格的url的处理方法
May 11 Python
如何使用Python进行OCR识别图片中的文字
Apr 01 Python
Python面向对象之类的封装操作示例
Jun 08 Python
pyqt5之将textBrowser的内容写入txt文档的方法
Jun 21 Python
Django后端接收嵌套Json数据及解析详解
Jul 17 Python
利用python list完成最简单的DB连接池方法
Aug 09 Python
Django中使用haystack+whoosh实现搜索功能
Oct 08 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 Python
Python3 assert断言实现原理解析
Mar 02 Python
利用python对mysql表做全局模糊搜索并分页实例
Jul 12 Python
解决Python中的modf()函数取小数部分不准确问题
May 28 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模块memcache和memcached区别分析
2011/06/14 PHP
Javascript----文件操作
2007/01/18 Javascript
js数字输入框(包括最大值最小值限制和四舍五入)
2009/11/24 Javascript
基于jquery的拖动布局插件
2011/11/25 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
js实现数组转换成json
2015/06/26 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
Bootstrap学习笔记之js组件(4)
2016/06/12 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
解决Vue打包之后文件路径出错的问题
2018/03/06 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
2018/11/29 Javascript
vue实现登录、注册、退出、跳转等功能
2020/12/23 Vue.js
[01:38]DOTA2辉夜杯 欢乐的观众现场采访
2015/12/26 DOTA
[04:15]DOTA2-DPC中国联赛1月19日Recap集锦
2021/03/11 DOTA
python重试装饰器示例
2014/02/11 Python
python去掉字符串中重复字符的方法
2014/02/27 Python
Python的垃圾回收机制深入分析
2014/07/16 Python
用Python进行行为驱动开发的入门教程
2015/04/23 Python
Python获取系统默认字符编码的方法
2015/06/04 Python
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
致1500米运动员广播稿
2014/02/07 职场文书
护士见习期自我鉴定
2014/02/08 职场文书
班班通校本培训方案
2014/03/12 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
2015年党建工作总结
2015/03/30 职场文书
尼克胡哲观后感
2015/06/08 职场文书
SpringRetry重试框架的具体使用
2021/07/25 Java/Android
一篇文章弄懂Python中的内建函数
2021/08/07 Python