📅  最后修改于: 2023-12-03 15:38:46.142000             🧑  作者: Mango
在Python中,我们可以使用xml.etree.ElementTree
模块来创建XML文档。如果要将已创建的XML文档写入到文件中,我们可以使用Python标准库中的xml.dom.minidom
模块进行格式化和缩进。
xml.etree.ElementTree
和xml.dom.minidom
模块是Python标准库的一部分,因此不需要单独安装。
首先,我们将使用xml.etree.ElementTree
模块创建一个XML文档。在这个例子中,我们将创建一个简单的示例XML文档,其中包含一个book
元素,该元素具有title
和author
子元素。
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
的子元素,并将其添加到根元素中。接着,我们创建title
和author
元素,并将它们添加到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文档并将其保存到文件中。