最近在对接微信公众号、微信支付等功能,发现很多都是用xml格式的。在使用django日常处理的时候,都是手动拼接的,真的是很恶心。今天仔细的看了一下python的xmltodict模块,发现其实完全可以不用手动拼接,轮子本身都有了。只要那来用就好了。之前自己的方式反而有点傻逼了。
首先使用和安装都很简单
安装
pip install xmltodict #如果安装失败,直接去github上下载手动装吧,https://github.com/martinblech/xmltodict
从名字就知道了 他是一个支持从xml转换到python的dict互相转换的模块。(真的很方便)
dict转换xml(用的比较多)
这个的使用场景是真的多,比如微信支付各种信息获取都需要用到。
xmltodict.unparse()方法可以方便的将字典转换为xml字符串。
import xmltodict
d = {
"xml":{
"a": "123",
"b": "234"
}
}
xml_tmp = xmltodict.unparse(d)
print(xml_tmp)
--><?xml version="1.0" encoding="utf-8"?>123234
看着上面的字典格式也有点奇怪,这里要说明一下,生成xml只能只有一个根,否则会报错ValueError: Document must have exactly one root.
解决方式也比较简单ÿ