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 json encode datetime类型
Dec 28 Python
Python实现3行代码解简单的一元一次方程
Aug 18 Python
Python实现对excel文件列表值进行统计的方法
Jul 25 Python
基于使用paramiko执行远程linux主机命令(详解)
Oct 16 Python
python opencv之分水岭算法示例
Feb 24 Python
解决matplotlib库show()方法不显示图片的问题
May 24 Python
基于Python实现迪杰斯特拉和弗洛伊德算法
May 27 Python
简单了解Django ContentType内置组件
Jul 23 Python
Python包和模块的分发详细介绍
Jun 19 Python
python进度条显示-tqmd模块的实现示例
Aug 23 Python
Pytest实现setup和teardown的详细使用详解
Apr 17 Python
pytorch 如何使用float64训练
May 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
Thinkphp中的volist标签用法简介
2014/06/18 PHP
PHP插件PHPMailer发送邮件功能
2017/02/28 PHP
jquery插件如何使用 jQuery操作Cookie插件使用介绍
2012/12/15 Javascript
Extjs4中tree的拖拽功能(可以两棵树之间拖拽) 简单实例
2013/12/08 Javascript
Jquery中国地图热点效果-鼠标经过弹出提示层信息的简单实例
2014/02/12 Javascript
改变状态栏文字的js代码
2014/06/13 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
2015/06/09 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
Bootstrap时间选择器datetimepicker和daterangepicker使用实例解析
2016/09/17 Javascript
AngularJS控制器controller给模型数据赋初始值的方法
2017/01/04 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
Python实现SVN的目录周期性备份实例
2015/07/17 Python
Python使用pymysql小技巧
2017/06/04 Python
Python 中字符串拼接的多种方法
2018/07/30 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
2020/05/27 Python
5款实用的python 工具推荐
2020/10/13 Python
Django缓存Cache使用详解
2020/11/30 Python
英国汽车和货车租赁网站:Hertz英国
2016/09/02 全球购物
英国领先的鞋类零售商:Shoe Zone
2018/12/13 全球购物
为数据库创建索引都需要注意些什么
2012/07/17 面试题
JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
2013/07/02 面试题
大学自荐信
2013/12/12 职场文书
毕业生就业意向书
2014/04/01 职场文书
小学生美德少年事迹材料
2014/08/24 职场文书
暑期政治学习心得体会
2014/09/02 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
iPhone13再次曝光
2021/04/15 数码科技
在Java中Collection的一些常用方法总结
2021/06/13 Java/Android
MySQL分区表实现按月份归类
2021/11/01 MySQL
Golang 字符串的常见操作
2022/04/19 Golang