在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 接口,并提供了该接口的参考实现。
Syntax: Element(tag, attrib = {}, **extra)
Parameter:
- tag: This is a string that identify what kind of data this element represents.
- attrib: this is an optional dictionary, containing element attributes.
- **extra: This contains additional attributes, given as keyword arguments.
Return: Element object
xml.etree.ElementTree.tostring()函数:
此函数生成 XML 元素的字符串表示。
Syntax: tostring(element)
Parameter: XML element
Return: string representation of an XML element
ElementObject.set()方法:
此方法将元素上的属性键设置为值。
Syntax: set(key, value)
Parameter:
- key: represent the attribute.
- value: represent value of attribute.
Return: None
现在,让我们看看将字典转换为 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))
输出:
b'
b'