歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Python解析XML字符串

Python解析XML字符串,網上查了半天,還就內置的xml.sax輕量級、簡便。

鑒於網上的代碼哪怕是最簡單的示例,也帶有很大迷惑性,最後還是自己整理備份一份為好,對於大多數普通情況直接用即可,無須修改。

BTW:還是JSON好用。

 

  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)  

Copyright © Linux教程網 All Rights Reserved