码迷,mamicode.com
首页 > 编程语言 > 详细

python xml与字典的相互转换

时间:2017-03-08 17:38:03      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:param   数据   cdata   app   format   detail   转换   features   ram   

def trans_xml_to_dict(xml):
  """
  将微信支付交互返回的 XML 格式数据转化为 Python Dict 对象
 
  :param xml: 原始 XML 格式数据
  :return: dict 对象
  """
 
  soup = BeautifulSoup(xml, features=‘xml‘)
  xml = soup.find(‘xml‘)
  if not xml:
    return {}
 
  # 将 XML 数据转化为 Dict
  data = dict([(item.name, item.text) for item in xml.find_all()])
  return data
 
 
def trans_dict_to_xml(data):
  """
  将 dict 对象转换成微信支付交互所需的 XML 格式数据
 
  :param data: dict 对象
  :return: xml 格式数据
  """
 
  xml = []
  for k in sorted(data.keys()):
    v = data.get(k)
    if k == ‘detail‘ and not v.startswith(‘<![CDATA[‘):
      v = ‘<![CDATA[{}]]>‘.format(v)
    xml.append(‘<{key}>{value}</{key}>‘.format(key=k, value=v))
  return ‘<xml>{}</xml>‘.format(‘‘.join(xml))

python xml与字典的相互转换

标签:param   数据   cdata   app   format   detail   转换   features   ram   

原文地址:http://www.cnblogs.com/lgh344902118/p/6520355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!