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', '    ', '
']
正是江南好风景
原文地址:https://www.cnblogs.com/monsterhy123/p/12952019.html