Python中使用SAX解析xml实例
作者:junjie 发布时间:2022-08-22 01:32:56
标签:Python,SAX,xml
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外的另一种读写文件的方式。


猜你喜欢
- 从 PDF 表格中获取数据是一项痛苦的工作。不久前,一位开发者提供了一个名为 Camelot 的工具,使用三行代码就能从 PDF 文件中提取
- 但凡介绍数据库连接池的文章,都会说“数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理
- 本文实例为大家分享了python视频按帧截取图片工具的具体代码,供大家参考,具体内容如下描述:将一个视频流按帧数截取大量的图片用途:AI的数
- 系统环境:Centos6.5 64位一. 安装java环境 这里安装的是jdk1.7.60在/usr/local目录下创建java目录,可到
- 报错信息应该是这样的webpackEmptyContext (eval at ./src/store/modules sync recurs
- 在刚学Pandas时,行选择和列选择非常容易混淆,在这里进行一下讨论和归纳本文的数据来源:https://github.com/fiveth
- Python2 和 Python3 是不兼容的,如果碰到无法升级到 Python2 代码,或者同事中有坚守 Python2 阵营的情况,就要
- 概述主要用于全国地区数据的操作,包括省,市,区 * 联动,地区数据的添加和删除; 在操作地区数据时,以前也用过树形的地区选择组件,但因其在再操
- 本文主要给大家介绍的是关于Golang解析json数据的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:使用 Gol
- 本文实例讲述了JS基于开关思想实现的数组去重功能。分享给大家供大家参考,具体如下:场景: 比如给你一个数组var Arr = [ 25, 7
- 有很多种方法来实现图片的预加载,通常大部分使用Javascript让事情滚动。不要再受Javascript预载的束缚了吧,用CSS你就可以毫
- 废话少说,直接上SQL代码(有兴趣的测试验证一下),下面这个查询语句为什么将2008-11-27的记录查询出来了呢?这个是同事遇到的一个问题
- 本文实例讲述了js选项卡的实现方法。分享给大家供大家参考。具体分析如下:一、思路1. 获取元素;2. for循环按钮元素添加onclick(
- 前言静态文件是指 网站中的 js, css, 图片,视频等文件,本文主要给大家介绍了关于Django学习之静态文件调用的相关内容,分享出来供
- 本文实例讲述了Python 面向对象静态方法、类方法、属性方法知识点。分享给大家供大家参考,具体如下:(1)静态方法--》-@staticm
- Python 提供了多个图形开发界面的库。Tkinter就是其中之一。 Tkinter 模块(Tk 接口)是 Python 的标准 Tk G
- 存在的问题: 合并、压缩文件主要有2方面的问题: 1. 每次发布的时候需要运行一下自己写的bat文件或者其他程序把文件按照自己的配置合并和压
- 一、判断以下哪些不能作为标识符A、aB、¥aC、_12D、$a@12E、falseF、False答案为:(F、D、B、E)二、输入数,判断这
- 先睹为快24点游戏规则(改编自 * )从1~10这十个数字中随机抽取4个数字(可重复),对这四个数运用加、减、乘、除和括号进行运算得出24
- 一、背景最近在和系统模块做数据联调,其中有一个需求是将两个角色下的相关数据对比后将最新的数据返回出去,于是就想到了去重,再次做一个总结。二、