如何在 Python 中将列表转换为 XML?


可扩展标记语言 (XML) 是一种流行的数据交换格式,在许多应用程序中使用。它提供了一种标准化的表示数据的方式,可以轻松地被人和机器理解。在许多情况下,需要将存储在 Python 列表中的数据转换为 XML 格式以用于各种目的,例如数据交换或存储。

在本文中,我们将探讨使用 Python 内置库将 Python 列表转换为 XML 格式的不同方法。

以下是我们可以用来将 Python 列表转换为 XML 的两种不同方法。

使用 ElementTree 库

  • 导入 xml.etree.ElementTree 库。

  • 为 XML 树的根元素创建 ElementTree.Element 的实例。

  • 遍历列表并为列表中的每个项目创建子元素。

  • 将子元素添加到根元素。

  • 使用 ElementTree.ElementTree 对象将 XML 数据写入文件或字符串。

请考虑以下代码以了解上述方法。

示例

import xml.etree.ElementTree as ET

# Create a list
my_list = ['apple', 'banana', 'orange']

# Create the root element of the XML tree
root = ET.Element('fruits')

# Iterate over the list and create child elements
for item in my_list:
	fruit = ET.SubElement(root, 'fruit')
	fruit.text = item

# Use the ElementTree object to write the XML data to a file or string
tree = ET.ElementTree(root)
tree.write('fruits.xml')

解释

  • 代码首先导入 xml.etree.ElementTree 模块,该模块包含在 Python 标准库中。

  • 创建了一个包含三个字符串元素的 Python 列表 my_list。

  • 代码使用 ElementTree 的 Element() 方法创建 XML 树的根元素,并将其分配给变量 root。传递给 Element() 的参数是根元素的标签名称。

  • 然后,代码使用 for 循环遍历列表中的每个项目。对于每个项目,它使用 root 对象的 SubElement() 方法在根元素下创建一个子元素。传递给 SubElement() 的第一个参数是子元素的标签名称。第二个参数 item 是子元素的文本内容。

  • 最后,代码使用 ElementTree 的 ElementTree() 方法使用 root 作为根元素创建 ElementTree 对象。然后调用 ElementTree 的 write() 方法将 XML 数据写入名为 fruits.xml 的文件。

输出

<fruits>
  <fruit>apple</fruit>
  <fruit>banana</fruit>
  <fruit>orange</fruit>
</fruits>

使用 lxml 库

  • 导入 lxml 库。

  • 为 XML 树的根元素创建 lxml.Element 的实例。

  • 遍历列表并为列表中的每个项目创建子元素。

  • 将子元素添加到根元素。

  • 使用 lxml.etree.tostring() 方法将 XML 树转换为字符串。

请考虑以下代码。

示例

import xml.etree.ElementTree as ET

# Create a list
my_list = ['apple', 'banana', 'orange']

# Create the root element of the XML tree
root = ET.Element('fruits')

# Iterate over the list and create child elements
for item in my_list:
	fruit = ET.SubElement(root, 'fruit')
	fruit.text = item

# Use the ElementTree object to write the XML data to a file or string
tree = ET.ElementTree(root)
tree.write('fruits.xml')

解释

  • 代码首先导入 xml.etree.ElementTree 模块,该模块包含在 Python 标准库中。

  • 创建了一个包含三个字符串元素的 Python 列表 my_list。

  • 代码使用 ElementTree 的 Element() 方法创建 XML 树的根元素,并将其分配给变量 root。传递给 Element() 的参数是根元素的标签名称。

  • 然后,代码使用 for 循环遍历列表中的每个项目。对于每个项目,它使用 root 对象的 SubElement() 方法在根元素下创建一个子元素。传递给 SubElement() 的第一个参数是子元素的标签名称。第二个参数 item 是子元素的文本内容。

  • 最后,代码使用 ElementTree 的 ElementTree() 方法使用 root 作为根元素创建 ElementTree 对象。然后调用 ElementTree 的 write() 方法将 XML 数据写入名为 fruits.xml 的文件。

输出

<fruits>
  <fruit>apple</fruit>
  <fruit>banana</fruit>
  <fruit>orange</fruit>
</fruits>

结论

我们在本文中讨论的两种方法都涉及从列表创建 XML 树结构,其中列表中的每个元素对应于 XML 树中的一个子元素。

更新于: 2023年8月3日

1K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告

© . All rights reserved.