def parseXml(xml_str):
# print(xml_str) class DefaultSaxHandler(object): def start_element(self, name, attrs): if name == 'results': self.result = {} self.result['forecast'] = [] if name == 'yweather:location': self.result['city'] = attrs['city'] if name == 'yweather:forecast': ft= {} for k,v in attrs.items(): ft[k] = v self.result['forecast'].append(ft) def end_element(self, name): if name == 'channel': print(self.result) def char_data(self, text): pass handler = DefaultSaxHandler() parser = ParserCreate() parser.StartElementHandler = handler.start_element parser.EndElementHandler = handler.end_element parser.CharacterDataHandler = handler.char_data parser.Parse(xml_str) return handler.result
Sign in to make a reply
云影夜风_843
def parseXml(xml_str):