📜  在Python中将字典转换为 XML

📅  最后修改于: 2022-05-13 01:55:04.681000             🧑  作者: Mango

在Python中将字典转换为 XML

XML代表可扩展标记语言。 XML 被设计为具有自描述性并用于存储和传输数据。 XML 标签用于识别、存储和组织数据。 XML 文档的基本构建块由标记定义。一个元素有一个开始标签和一个结束标签。 XML 中的所有元素都包含在称为根元素的最外层元素中。

例子:


DSA
2499/-

在上面的例子中,geeksforgeeks 是根元素, 是元素。

现在,让我们看看如何将字典转换为 XML:
为了在Python中将字典转换为 XML,我们将使用xml.etree.ElementTree库。 xml.etree.ElementTree 库通常用于解析,也用于创建 XML 文档。 ElementTree类用于包装组件结构并将其从 XML 转换为 XML。此转换的结果是一个Element 。对于 I/O,使用 xml.etree.ElementTree 中的tostring()函数很容易将其转换为字节字符串。

xml.etree.ElementTree.Element()类:

该 Element 类定义了 Element 接口,并提供了该接口的参考实现。

xml.etree.ElementTree.tostring()函数:

此函数生成 XML 元素的字符串表示。

ElementObject.set()方法:

此方法将元素上的属性键设置为值。

现在,让我们看看将字典转换为 XML 的Python程序:

Python3
# import Element class, tostring function
# from xml.etree.ElementTree library
from xml.etree.ElementTree import Element,tostring
 
# define a function to
# convert a simple dictionary
# of key/value pairs into XML
def dict_to_xml(tag, d):
 
    elem = Element(tag)
    for key, val in d.items():
        # create an Element
        # class object
        child = Element(key)
        child.text = str(val)
        elem.append(child)
         
    return elem
 
# Driver Program
s = { 'name': 'geeksforgeeks',
     'city': 'noida', 'stock': 920 }
 
# e stores the element instance
e = dict_to_xml('company', s)
 
# Element instance is different
# every time you run the code
print(e)
 
# converting into a byte string
print(tostring(e))
 
# We can attach attributes
# to an element using
# set() method
e.set('_id','1000')
 
print(tostring(e))


输出: