Python中使用SAX解析xml实例

作者:junjie 时间:2022-08-22 01:32:56 

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,SAX,xml
0
投稿

猜你喜欢

  • pyqt5实现按钮添加背景图片以及背景图片的切换方法

    2023-01-11 05:15:32
  • MySQL表级锁使用说明

    2024-01-23 04:10:07
  • JS完美实现对象克隆

    2008-08-03 16:51:00
  • keras和tensorflow使用fit_generator 批次训练操作

    2023-04-09 04:55:59
  • Python Pytorch深度学习之Tensors张量

    2023-05-04 12:34:54
  • php 文件缓存函数

    2023-11-06 15:28:47
  • CTF中的PHP特性函数解析之下篇

    2023-06-14 09:54:52
  • pandas归一化与反归一化操作实现

    2023-07-01 13:24:57
  • Django media static外部访问Django中的图片设置教程

    2023-03-05 03:51:15
  • SQL Server连接中经常出现的3个常见错误与解答

    2010-07-26 14:25:00
  • IE6局部调用PNG32合并图片

    2009-03-11 21:24:00
  • Docker部署Python爬虫项目的方法步骤

    2023-03-27 14:45:21
  • MySQL数据库如何导入导出(备份还原)

    2024-01-17 17:26:37
  • 获得MySQL改变字符集的方案

    2010-08-31 14:53:00
  • 删除数据库中重复数据的几个方法

    2024-01-17 12:56:36
  • js仿支付宝多方框输入支付密码效果

    2024-04-26 17:12:49
  • 微信 java 实现js-sdk 图片上传下载完整流程

    2024-04-29 14:08:03
  • 学会sql数据库关系图(Petshop)

    2012-10-07 10:34:49
  • 从对象列表中获取一个对象的方法,依据关键字和值

    2024-05-22 10:40:02
  • tensorflow2.0保存和恢复模型3种方法

    2023-03-07 01:06:03
  • asp之家 网络编程 m.aspxhome.com