首页 > 其他 > 详细

SAX解析XML文件

时间:2020-05-24 19:38:16      阅读:56      评论:0      收藏:0      [点我收藏+]
 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,     , \n]

 

SAX解析XML文件

原文:https://www.cnblogs.com/monsterhy123/p/12952019.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!