
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言问题:根据提供的数据格式,请使用Python实现字典转换为XML格式的数据。 解答: 实现思路:
import xml.etree.ElementTree as ET
def dict_to_xml(dic, root_node=None):
"""
将字典转换为xml格式
:param dic: 待转换字典
:param root_node: 当前节点
:return: xml节点
"""
# 如果不存在根节点,则创建根节点
if root_node is None:
root_node = ET.Element('root')
# 遍历字典
for key, value in dic.items():
# 创建对应的xml节点
child_node = ET.Element(key)
root_node.append(child_node)
# 如果字典的值仍然是一个字典,则递归创建子节点
if isinstance(value, dict):
dict_to_xml(value, child_node)
else:
# 否则,将字典的值作为当前节点的值
child_node.text = str(value)
return root_node
# 示例:字典转换为xml并保存至文件中
dic = {
"top": {
"left": "0",
"bottom": "100"
},
"bottom": {
"left": "0",
"top": "100"
}
}
xml_str = ET.tostring(dict_to_xml(dic)).decode()
with open('data.xml', 'w') as f:
f.write(xml_str)
输出结果: 保存在data.xml文件中的内容如下:
<root>
<top>
<left>0</left>
<bottom>100</bottom>
</top>
<bottom>
<left>0</left>
<top>100</top>
</bottom>
</root>