zoukankan      html  css  js  c++  java
  • SAX解析XML文件

     1 import xml.sax
     2 import sys
     3 get_record=[]
     4 class GetStorehouse(xml.sax.ContentHandler):
     5     def __init__(self):
     6         self.CurrentData=""
     7         self.title=""
     8         self.name=""
     9         self.amount=""
    10         self.price=""
    11     def startElement(self,label,attributes):
    12         self.CurrentData=label
    13         if label=="goods": #子元素的开始标签
    14            category=attributes["category"]
    15            return category
    16     def endElement(self,label):
    17         global get_record 
    18         if self.CurrentData=="title":
    19             get_record.append(self.title)
    20         elif self.CurrentData=="name":
    21             get_record.append(self.name)
    22         elif self.CurrentData=="amount":
    23             get_record.append(self.amount)
    24         elif self.CurrentData=="price":
    25             get_record.append(self.price)
    26     def characters(self,content):
    27         if self.CurrentData=="title":
    28             self.title=content
    29         elif self.CurrentData=="name":
    30             self.name=content
    31         elif self.CurrentData=="amount":
    32             self.amount=content
    33         elif self.CurrentData=="price":
    34             self.price=content
    35 #=============================================================================
    36 parser=xml.sax.make_parser() #创建一个解析器的XMLReader对象
    37 parser.setFeature(xml.sax.handler.feature_namespaces,0)#从XML文件解析数据,关闭从命名空间解析
    38 Handler=GetStorehouse()   #建立事件处理器实例
    39 parser.setContentHandler(Handler)
    40 parser.parse("storehouse.xml")
    41 print(get_record)
    ['淡水鱼', '鲫鱼', '18', '8', '    ', '温带水果', '猕猴桃', '10', '10', '    ', '
    ']
    正是江南好风景
  • 相关阅读:
    即时通讯之环信视频语音实时通话与单聊和群聊实现
    检测.net framework 版本
    Abp(.NetCore)开发与发布过程3-部署Ubuntu站点
    Abp(.NetCore)开发与发布过程2
    Abp(.NetCore)开发与发布过程
    Redis实战与 Session缓存
    Redis 安装与初体验
    [转]gluPerspective函数
    [转]gluLookAt 函数详解
    [转]unity3D游戏开发之GUI
  • 原文地址:https://www.cnblogs.com/monsterhy123/p/12952019.html
Copyright © 2011-2022 走看看