You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Minimal DOM(minidom)无法为根元素设置属性的技术求助

解决minidom中无法为根元素设置属性的问题

嘿,你遇到的这个AttributeError问题其实很好解决——你搞混了XML文档对象和XML元素节点的区别!

你代码里的root是minidom.Document的实例,它代表整个XML文档的容器,本身并不是一个XML元素,自然没有setAttribute方法。你要设置属性的应该是你创建的<dbtable>元素,而不是文档对象本身。

下面是修正后的代码:

# -*- coding: utf-8 -*-
from xml.dom import minidom
import os

# 创建XML文档对象
root = minidom.Document()
# 创建dbtable元素,这才是我们要作为根的XML元素节点
xml = root.createElement('dbtable')
# 给dbtable元素设置属性(这一步才是正确的操作对象)
xml.setAttribute("name", 'states')
# 将dbtable元素添加为文档的根节点
root.appendChild(xml)

# 可选:输出格式化后的XML内容
print(root.toprettyxml(indent="  "))

再给你划几个关键要点:

  • minidom.Document的作用是管理整个XML文档的结构、创建元素等,但它不是XML元素,不能设置属性。
  • 你用createElement创建的xml变量才是真正的XML元素节点,所有属性操作都应该针对它来做。
  • 最后把这个元素添加到文档中,它就会成为XML的根元素,带着你设置的属性。

内容的提问来源于stack exchange,提问作者Scott Bing

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:29:18