📅  最后修改于: 2023-12-03 15:08:57.084000             🧑  作者: Mango
在Python中,我们可以使用标准库中的xml.etree.ElementTree
模块来将列表转换为XML格式。以下是一些实现方法的示例:
import xml.etree.ElementTree as ET
my_list = ["apple", "banana", "orange", "peach"]
root = ET.Element("fruits")
for item in my_list:
ET.SubElement(root, "fruit", name=item)
xml_string = ET.tostring(root)
print(xml_string.decode())
该示例首先初始化一个列表,然后声明一个XML根元素。然后循环遍历列表,为每个项目创建一个带有“名称”属性的XML元素。最后,使用tostring
函数将XML树转换为字符串并打印。运行程序将产生以下输出:
<fruits><fruit name="apple" /><fruit name="banana" /><fruit name="orange" /><fruit name="peach" /></fruits>
import xml.dom.minidom
my_list = ["apple", "banana", "orange", "peach"]
impl = xml.dom.minidom.getDOMImplementation()
doc = impl.createDocument(None, "fruits", None)
for item in my_list:
root = doc.createElement("fruit")
root.setAttribute("name", item)
doc.documentElement.appendChild(root)
xml_string = doc.toxml()
print(xml_string)
该示例使用xml.dom.minidom
模块来创建XML文档。它初始化一个列表并使用getDOMImplementation
函数获取XML实现,然后使用createDocument
函数创建一个文档根元素。接下来循环遍历列表并为每个项目创建一个带有“名称”属性的XML元素。最后,使用toxml
函数将XML文档转换为字符串并打印。运行程序将产生以下输出:
<?xml version="1.0" ?><fruits><fruit name="apple"/><fruit name="banana"/><fruit name="orange"/><fruit name="peach"/></fruits>
import xml.etree.ElementTree as ET
def list_to_xml(lst, parent):
for item in lst:
if isinstance(item, list):
list_to_xml(item, parent)
else:
ET.SubElement(parent, "item").text = str(item)
my_list = ["apple", "banana", ["orange", "peach"]]
root = ET.Element("root")
list_to_xml(my_list, root)
xml_string = ET.tostring(root)
print(xml_string.decode())
该示例定义了一个名为list_to_xml
的递归函数,该函数将给定的列表转换为XML格式。该函数遍历列表中的所有项,并根据其类型创建XML元素。对于子列表,该函数调用自身。最后,该函数将XML元素添加到给定的父元素中。该程序运行将产生以下输出:
<root><item>apple</item><item>banana</item><item>orange</item><item>peach</item></root>
这就是在Python中将列表转换为XML格式的几种方法。无论您采用哪种方法,都可以将列表转换为可读性更好的XML格式,并与各种XML处理工具一起使用。