📜  将Python字典序列化为 XML(1)

📅  最后修改于: 2023-12-03 15:25:15.698000             🧑  作者: Mango

将Python字典序列化为 XML

在开发中,有时需要将 Python 字典序列化为 XML。Python 中有一个内置模块 xml.etree.ElementTree 可以帮助我们实现这个功能。

序列化字典

首先,我们需要将 Python 字典序列化为 ElementTree 中的元素。这可以通过创建一个元素根据字典中的键和值来实现。例如,对于以下字典:

person = {'name': 'John Doe', 'age': '30', 'gender': 'Male'}

可以通过以下方式创建 ElementTree 元素:

import xml.etree.ElementTree as ET

person_element = ET.Element('person')
for key, value in person.items():
    element = ET.Element(key)
    element.text = value
    person_element.append(element)

这将创建以下 ElementTree 元素:

<person>
    <name>John Doe</name>
    <age>30</age>
    <gender>Male</gender>
</person>
序列化为 XML

一旦我们有了 ElementTree 元素,就可以使用 ElementTree 模块中的 ElementTree 类将其序列化为 XML。例如:

import xml.etree.ElementTree as ET

person = {'name': 'John Doe', 'age': '30', 'gender': 'Male'}

person_element = ET.Element('person')
for key, value in person.items():
    element = ET.Element(key)
    element.text = value
    person_element.append(element)

tree = ET.ElementTree(person_element)
tree.write('person.xml')

这将在当前目录下创建一个名为 person.xml 的文件,其中包含序列化后的 XML。

完整代码
import xml.etree.ElementTree as ET

person = {'name': 'John Doe', 'age': '30', 'gender': 'Male'}

person_element = ET.Element('person')
for key, value in person.items():
    element = ET.Element(key)
    element.text = value
    person_element.append(element)

tree = ET.ElementTree(person_element)
tree.write('person.xml')
总结

xml.etree.ElementTree 是一个非常方便的库,可以帮助我们将 Python 数组、元组、字典等数据类型序列化为 XML。通过了解此库的基本功能,我们可以更好地处理和管理 XML 数据。