📜  如何将漂亮的 xml 写入文件 python (1)

📅  最后修改于: 2023-12-03 15:38:46.142000             🧑  作者: Mango

如何将漂亮的xml写入文件 - Python

在Python中,我们可以使用xml.etree.ElementTree模块来创建XML文档。如果要将已创建的XML文档写入到文件中,我们可以使用Python标准库中的xml.dom.minidom模块进行格式化和缩进。

安装

xml.etree.ElementTreexml.dom.minidom模块是Python标准库的一部分,因此不需要单独安装。

示例

首先,我们将使用xml.etree.ElementTree模块创建一个XML文档。在这个例子中,我们将创建一个简单的示例XML文档,其中包含一个book元素,该元素具有titleauthor子元素。

import xml.etree.ElementTree as ET

# 创建一个根元素
root = ET.Element("catalog")

# 创建一个book元素
book = ET.SubElement(root, "book")

# 创建title和author元素并添加到book元素中
title = ET.SubElement(book, "title")
title.text = "The Raven"
author = ET.SubElement(book, "author")
author.text = "Edgar Allan Poe"

# 将元素树写成字节流
xml_bytes = ET.tostring(root)

在这个示例中,我们首先创建一个名为catalog的根元素,然后创建一个名为book的子元素,并将其添加到根元素中。接着,我们创建titleauthor元素,并将它们添加到book元素中。最后,我们使用ET.tostring()函数将root元素转换为字节流。

现在,我们已经创建了一个XML文档。但是,该文档的格式有些凌乱,没有进行缩进和换行。我们可以使用xml.dom.minidom模块来格式化XML文档。

import xml.dom.minidom as minidom

# 将字节流转换为xml文档对象
xml_doc = minidom.parseString(xml_bytes)

# 格式化xml文档并将其写入文件
with open("output.xml", "w") as f:
    f.write(xml_doc.toprettyxml())

在这个示例中,我们首先使用minidom.parseString()函数将字节流转换为XML文档对象。接着,我们使用xml_doc.toprettyxml()函数格式化XML文档并将其写入到文件中。

现在,我们已经将漂亮的XML文档写入了文件output.xml中。文件内容如下:

<?xml version="1.0" ?>
<catalog>
    <book>
        <title>The Raven</title>
        <author>Edgar Allan Poe</author>
    </book>
</catalog>
结论

在Python中,我们可以使用xml.etree.ElementTree模块来创建XML文档,并使用xml.dom.minidom模块来格式化文档并将其写入到文件中。这样,我们就可以轻松地创建漂亮的XML文档并将其保存到文件中。