我们可以用xml.etree.ELementTree这个库来将字典转换为XML文本。看下面这个函数:
from xml.etree.ElementTree import Element
def dict_to_xml(tag,dic):
"""
tag:XML的标签
dic:待转换的字典
"""
element=Element(tag) #打开一个空的Element对象
for key,val in dic.items(): #遍历这个字典
child=Element(key)
child.text=str(val)#生成一个ELement节点
element.append(child) # 将XML节点放进大的Element对象中
return element #返回这个ELement对象
下面是关于这个函数的调试:
>>> s={"name":"GOOD"}
>>> e=dict_to_xml('lalala',s)
>>> e
<Element 'lalala' at 0x036BA320>
可以看出经由这个函数转换后的字典并没有变成XML文本,而是成为了一个Element对象。我们可以利用xml.etree.ELementTree库中的tostring方法将其转换为文本:
>>> from xml.etree.ElementTree import tostring
>>> tostring(e)
b'<lalala><name>GOOD</name></lalala>'
>>>
以上,就是字典转XML的简易方式。