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', '    ', '
    ']
    正是江南好风景
  • 相关阅读:
    SoapUI开源版简单定制报告1
    python json模块 字典 输出中文
    Django文件上传机制用法详解(转)
    选择排序
    插入排序
    Python单元测试框架 unittest
    Design Pattern —— Prototype /Template Method/Iterator/Composite/Bridge
    Design Pattern ——Factory Method&Abstract Factory
    Design Pattern ——Builder
    JAVA泛型那些事儿
  • 原文地址:https://www.cnblogs.com/monsterhy123/p/12952019.html
Copyright © 2011-2022 走看看