歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python解析XML字符串

Python解析XML字符串

日期:2017/3/1 10:18:57   编辑:Linux編程

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

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

BTW:還是JSON好用。

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

Copyright © Linux教程網 All Rights Reserved