美文网首页
xml遍历转成字典

xml遍历转成字典

作者: 王大碗要努力 | 来源:发表于2017-11-07 15:39 被阅读0次

    动态遍历微信异步返回的结果

    <xml>
      <appid><![CDATA[wx2421b1c4370ec43b]]></appid>
      <attach><![CDATA[支付测试]]></attach>
      <bank_type><![CDATA[CFT]]></bank_type>
      <fee_type><![CDATA[CNY]]></fee_type>
      <is_subscribe><![CDATA[Y]]></is_subscribe>
      <mch_id><![CDATA[10000100]]></mch_id>
      <nonce_str><![CDATA[5d2b6c2a8db53831f7eda20af46e531c]]></nonce_str>
      <openid><![CDATA[oUpF8uMEb4qRXf22hE3X68TekukE]]></openid>
      <out_trade_no><![CDATA[1409811653]]></out_trade_no>
      <result_code><![CDATA[SUCCESS]]></result_code>
      <return_code><![CDATA[SUCCESS]]></return_code>
      <sign><![CDATA[B552ED6B279343CB493C5DD0D78AB241]]></sign>
      <sub_mch_id><![CDATA[10000100]]></sub_mch_id>
      <time_end><![CDATA[20140903131540]]></time_end>
      <total_fee>1</total_fee>
      <trade_type><![CDATA[JSAPI]]></trade_type>
      <transaction_id><![CDATA[1004400740201409030005092168]]></transaction_id>
    </xml> 
    
    #获取微信返回的xml结果,转换格式
     xml = xml.decode('utf-8')
    #判断return_code状态
    result = xml.find('<return_code><![CDATA[SUCCESS]]></return_code>')
    if result>0:
       #获取<xml>节点
       root = ElementTree.fromstring(xml)
       new_params = OrderedDict()
       eitor = root.getchildren()
        for e in eitor:
            new_params[e.tag] = e.text
        return new_params
    

    其他:通联支付的验签,动态重新遍历异步返回的结果(dict类型,动态遍历一遍)

    def new_param(param):
        new_params = OrderedDict()
        for k in param:
            new_params[k] = param[k]
        return new_params
    

    相关文章

      网友评论

          本文标题:xml遍历转成字典

          本文链接:https://www.haomeiwen.com/subject/jqjjmxtx.html