欢迎访问宙启技术站
智能推送

使用xml.dom.minidom库在Python中创建XML文档

发布时间:2023-12-16 04:51:04

在Python中,我们可以使用xml.dom.minidom库来创建XML文档。xml.dom.minidom库是Python内置的用于处理XML的标准库之一,它提供了一种简单的方式来创建和操作XML文档。下面是一个例子,展示了如何使用xml.dom.minidom库来创建XML文档。

import xml.dom.minidom

# 创建一个空的XML文档对象
dom = xml.dom.minidom.Document()

# 创建根节点
root = dom.createElement("bookstore")
dom.appendChild(root)

# 创建子节点
book1 = dom.createElement("book")
root.appendChild(book1)

# 设置book1节点的属性
book1.setAttribute("id", "1")

# 创建子节点title,并为其设置文本内容
title1 = dom.createElement("title")
title1Text = dom.createTextNode("Learn Python")
title1.appendChild(title1Text)
book1.appendChild(title1)

# 创建子节点author,并为其设置文本内容
author1 = dom.createElement("author")
author1Text = dom.createTextNode("John Doe")
author1.appendChild(author1Text)
book1.appendChild(author1)

# 创建子节点price,并为其设置文本内容
price1 = dom.createElement("price")
price1Text = dom.createTextNode("19.99")
price1.appendChild(price1Text)
book1.appendChild(price1)

# 创建子节点
book2 = dom.createElement("book")
root.appendChild(book2)

# 设置book2节点的属性
book2.setAttribute("id", "2")

# 创建子节点title,并为其设置文本内容
title2 = dom.createElement("title")
title2Text = dom.createTextNode("Learn Java")
title2.appendChild(title2Text)
book2.appendChild(title2)

# 创建子节点author,并为其设置文本内容
author2 = dom.createElement("author")
author2Text = dom.createTextNode("Jane Smith")
author2.appendChild(author2Text)
book2.appendChild(author2)

# 创建子节点price,并为其设置文本内容
price2 = dom.createElement("price")
price2Text = dom.createTextNode("24.99")
price2.appendChild(price2Text)
book2.appendChild(price2)

# 将XML文档保存到文件中
with open("books.xml", "w") as file:
    file.write(dom.toprettyxml(indent="  "))

print("XML document created successfully!")

在上述例子中,我们首先导入了xml.dom.minidom库。然后,我们创建了一个空的XML文档对象dom。接下来,我们使用dom.createElement方法创建了根节点bookstore,并通过dom.appendChild方法将其添加到文档中。然后,我们创建了两个book节点,并为每个节点设置了不同的属性和文本内容。最后,我们通过dom.toprettyxml方法将XML文档保存到文件中。

运行以上代码后,你将在相同目录下找到名为books.xml的文件,其中包含了一个简单的XML文档。

使用xml.dom.minidom库创建XML文档非常简单,你可以根据自己的需求创建任意复杂的XML文档。这个库还提供了其他一些方法,用于查询和修改已有的XML文档。你可以在Python官方文档中查找更多关于xml.dom.minidom库的详细信息和用法。