from xml.parsers.expat import ParserCreate
from urllib import request
d = []
class DefaultSaxHandler(object):
def start_element(self,name,attrs):
if 'city' in attrs:
self.city = attrs['city']
if 'forecast'in attrs:
fc = dict(date=attrs['date'],high=attrs['high'],low=attrs['low'])
d.append(fc)
def end_element(self,name):
pass
def char_data(self,text):
pass
逆流6337168474
from xml.parsers.expat import ParserCreate from urllib import request
d = [] class DefaultSaxHandler(object): def start_element(self,name,attrs): if 'city' in attrs: self.city = attrs['city'] if 'forecast'in attrs: fc = dict(date=attrs['date'],high=attrs['high'],low=attrs['low']) d.append(fc) def end_element(self,name): pass def char_data(self,text): pass
def parseXml(xml_str): print(xml_str) handler = DefaultSaxHandler() parser = ParserCreate() parser.StartElementHandler = handler.start_element parser.EndElementHandler = handler.end_element parser.CharacterDataHandler = handler.char_data parser.Parse(xml_str) return {'city':handler.city,'forecast':d}