Python解析XML字符串

来源:互联网 发布:央视影音电视直播软件 编辑:程序博客网 时间:2024/05/21 17:49

  1. # -*- coding: utf-8 -*-  
  2.   
  3. import xml.sax  
  4. import xml.sax.handler  
  5.   
  6. class XMLHandler(xml.sax.handler.ContentHandler):  
  7.     def __init__(self):  
  8.         self.buffer = ""                    
  9.         self.mapping = {}                  
  10.   
  11.     def startElement(self, name, attributes):  
  12.         self.buffer = ""                    
  13.   
  14.     def characters(self, data):  
  15.         self.buffer += data                      
  16.   
  17.     def endElement(self, name):  
  18.         self.mapping[name] = self.buffer           
  19.   
  20.     def getDict(self):  
  21.         return self.mapping  
  22.   
  23.   
  24. data = '''''<?xml version="1.0" encoding="UTF-8"?><note><to>World</to><from>Linvo</from><heading>Hi</heading><body>Hello World!</body></note>'''  
  25.   
  26. xh = XMLHandler()  
  27. xml.sax.parseString(data, xh)  
  28. ret = xh.getDict()  
  29.   
  30. import pprint  
  31. pprint.pprint(ret)  

原创粉丝点击