在本文中,任务是将给定列表转换为 Python 中的 XML。但首先,让我们讨论一下什么是 XML?
它也可能是定义了一系列规则的术语,用于在人类可读和机器可读的格式中对文档进行编码。 XML 的设计目标专注于网络的简单性、通用性和实用性。它是一种文本格式,通过 Unicode 为各种人类语言提供强大的支持。
您可以参考文章使用 Python 创建 XML 文档以获取更多信息。
方法一:使用元素树
Python 具有一个 内置 库 ElementTree,它具有读取和操作 XML(以及其他类似结构的文件)的函数。 ElementTree 将整个 XML 文档表示为有助于执行操作的树。该元素表示此树中的单个节点。整个文档的读取和写入都是在 ElementTree 级别完成的。与一个 XML 元素及其子元素的交互是在元素级别完成的。参考:用 Python 修改 XML 文件
import xml.etree.ElementTree as ET
XML 文档有部分,称为元素,由开始和结束标记定义。标记是一种以 < 开头并以 > 结尾的标记结构。
使用的方法:
- 使用 ElementTree 插入列表项
- 创建根元素为 “userconfig”
- 创建子元素
- 将列表条目插入 sub-element
- 将树写入 XML 文件
Python3
# Firstly we have to import 'xml.etree.ElementTree' for creating a subtree
import xml.etree.ElementTree as ET
users_list = ["GeeksForGeeks", "Arka", "Computer Science", "Engineering", "Portal"]
def create_xml():
# we make root element
usrconfig = ET.Element("usrconfig")
# create sub element
usrconfig = ET.SubElement(usrconfig, "usrconfig")
# insert list element into sub elements
for user in range(len( users_list)):
usr = ET.SubElement(usrconfig, "usr")
usr.text = str(users_list[user])
tree = ET.ElementTree(usrconfig)
# write the tree into an XML file
tree.write("Output.xml", encoding ='utf-8', xml_declaration = True)
create_xml()
输出:
方法二: 使用 xml.dome
xml.dom.minidom 模块为创建 DOM 树提供了一个简单的解析器。 DOM(文档对象模型)可能是来自 W3C 的 cross-language API,即用于访问和修改 XML 文档的万维网联盟。 Python 使您能够在 xml.dom.minidom 的帮助下解析 XML 文件,这是 DOM 接口的最小实现。它比完整的 DOM API 更简单,并且会被认为更小。
有关给定库的进一步参考,请访问 Parse XML using Minidom in Python。
Python3
from xml.dom import minidom
import os
users_list = ["GeeksForGeeks", "Arka", "Computer Science", "Engineering", "Portal"]
# create file
root = minidom.Document()
# creat root element
xml = root.createElement('root')
root.appendChild(xml)
for user in range(len( users_list)):
# create child element
productChild = root.createElement('product'+ str(user))
# insert user data into element
productChild.setAttribute('list', users_list[user] )
xml.appendChild(productChild)
xml_str = root.toprettyxml(indent ="\t")
# save file
save_path_file = "gfg.xml"
with open(save_path_file, "w") as f:
f.write(xml_str)
输出:
相关用法
注:本文由纯净天空筛选整理自biswasarkadip大神的英文原创作品 How to convert lists to XML in Python?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。