跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

怎么用Python的xml.dom.minidom库创建XML

用xml.dom.minidom创建XML需先创建Document对象,再用createElement生成元素、createTextNode封装文本、setAttribute设置属性,最后用toprettyxml实现缩进输出。 用
xml.dom.minidom
创建 XML,核心是先创建文档对象,再逐步构建元素、设置属性、添加文本内容,最后格式化输出。创建空文档并添加根元素所有操作都从
minidom.Document()
开始。它代表整个 XML 文档,后续节点都需通过它创建:调用
doc.createElement("tagname")
创建新元素节点用
doc.appendChild(element)
把元素加到文档中(通常是根节点)一个文档只能有一个直接子节点(即根元素),其他都挂在这之下添加子元素和文本内容子元素也是用
createElement
创建,然后用
appendChild
挂到父元素下。文本内容不能直接作为子节点,必须封装成
Text
节点:用
doc.createTextNode("内容")
创建文本节点再把该文本节点
appendChild
到目标元素中例如:
name_elem.appendChild(doc.createTextNode("Alice"))
设置元素属性属性不是子节点,而是附加在元素上的键值对,用
element.setAttribute("name", "value")
设置:Python 3.14.3微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。下载立即学习“Python免费学习笔记(深入)”;支持字符串类型值,数字或布尔需先转为字符串同一个元素可多次调用
setAttribute
添加多个属性不支持命名空间属性(如
xmlns:xsi
),如需请换用
xml.etree.ElementTree
或
lxml
生成带缩进的可读XML字符串直接调用
doc.toxml()
输出的是单行无格式 XML。要美化输出,用
doc.toprettyxml(indent=" ", encoding="utf-8")
:
indent
指定缩进字符(如两个空格)
encoding
可选,设为
"utf-8"
时返回 bytes;若要 str,去掉该参数或设为
None
注意:
toprettyxml()
默认会在开头插入空行,可用字符串处理去掉(如
.replace("\n\n", "\n", 1)
)基本上就这些。不复杂但容易忽略文本节点封装和缩进控制。

相关文章