在日常开发中,我们经常需要处理结构化数据,而XML(可扩展标记语言)就是一种常见的格式。Python 提供了多种解析 XML 的方式,其中 xml.dom.minidom 是标准库中的一个轻量级 DOM(文档对象模型)实现,非常适合初学者学习和使用。
本文将带你从零开始,手把手教你如何使用 xml.dom.minidom 库读取、解析、修改和生成 XML 文件。无论你是编程小白还是有一定经验的开发者,都能轻松上手!
xml.dom.minidom 是 Python 标准库 xml.dom 模块的一部分,它提供了一个简化版的 DOM 接口,用于解析和操作 XML 文档。DOM 将整个 XML 文档加载到内存中,并以树形结构表示,便于遍历和修改。
由于 xml.dom.minidom 是 Python 内置模块,因此无需额外安装,只需在代码开头导入即可:
from xml.dom import minidom
假设我们有一个名为 books.xml 的文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?><library> <book id="1"> <title>Python编程入门</title> <author>张三</author> <price>59.9</price> </book> <book id="2"> <title>数据分析实战</title> <author>李四</author> <price>79.0</price> </book></library>
我们可以使用以下代码读取并解析它:
from xml.dom import minidom# 解析 XML 文件doc = minidom.parse('books.xml')# 获取根元素root = doc.documentElementprint(f"根节点名称: {root.nodeName}")
我们可以使用 getElementsByTagName() 方法查找特定标签:
# 获取所有 book 节点books = doc.getElementsByTagName('book')for book in books: book_id = book.getAttribute('id') title = book.getElementsByTagName('title')[0].firstChild.data author = book.getElementsByTagName('author')[0].firstChild.data price = book.getElementsByTagName('price')[0].firstChild.data print(f"ID: {book_id}, 书名: {title}, 作者: {author}, 价格: {price}")
输出结果:
ID: 1, 书名: Python编程入门, 作者: 张三, 价格: 59.9ID: 2, 书名: 数据分析实战, 作者: 李四, 价格: 79.0
你也可以用 minidom 动态创建 XML:
from xml.dom import minidom# 创建文档对象doc = minidom.Document()# 创建根节点root = doc.createElement('students')doc.appendChild(root)# 创建子节点student = doc.createElement('student')student.setAttribute('id', '101')name = doc.createElement('name')name_text = doc.createTextNode('王五')name.appendChild(name_text)student.appendChild(name)root.appendChild(student)# 输出格式化后的 XML 字符串xml_str = doc.toprettyxml(indent=" ")print(xml_str)
将生成的 XML 写入文件:
with open('output.xml', 'w', encoding='utf-8') as f: f.write(xml_str)
firstChild.data 获取文本内容时,要确保节点确实包含文本,否则可能报错。minidom 适合小型 XML 文件;对于大型文件,建议使用 xml.sax 或 lxml 等流式解析器。通过本教程,你已经掌握了如何使用 Python XML解析 工具 xml.dom.minidom 来读取、遍历、创建和保存 XML 数据。这是处理配置文件、API 响应或数据交换格式的基础技能。
记住我们的四个核心关键词:Python XML解析、xml.dom.minidom教程、Python处理XML数据 和 DOM操作XML。掌握这些,你就能轻松应对大多数 XML 相关任务!
现在,打开你的 Python 编辑器,动手试试吧!实践是最好的老师。
本文由主机测评网于2025-12-05发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025123381.html