python解析

#xml解析
import xml.sax
import xml.sax.handler
import pprint

class XMLHandler(xml.sax.handler.ContentHandler):
    def __init__(self):
        self.buffer = ""
        self.mapping = {}

    def startElement(self, name, attributes):
        self.buffer = ""

    def characters(self, data):
        self.buffer += data

    def endElement(self, name):
        self.mapping[name] = self.buffer

    def getDict(self):
        return self.mapping

if __name__ == '__main__':
    data = '''<?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <payment_response>
      <zf_head>
        <core_merchant_no>{0}</core_merchant_no>
        <out_trade_no>333323213232</out_trade_no>
        <pay_channel>ZF0025_01_001</pay_channel>
        <payment_req_no>00006450563</payment_req_no>
        <version>1.0</version>
        <err_code>ZF0025010011000100</err_code>
        <err_code_des>core_merchant_no format error:格式校验未通过</err_code_des>
        <ret_code>F</ret_code>
      </zf_head>
    </payment_response>'''
    xh = XMLHandler()
    xml.sax.parseString(data, xh)
    ret = xh.getDict()
    pprint.pprint(ret)


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容