全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python如何创建带属性的XML节点

Python中创建带属性的XML节点最常用方式是xml.etree.ElementTree模块,推荐初始化时传入属性字典或用set()方法设置,属性值必须为字符串,支持中文和缩进需借助minidom格式化。

Python中创建带属性的XML节点,最常用且推荐的方式是使用内置的 xml.etree.ElementTree 模块。它简洁、标准、无需额外安装,适合大多数场景。

用Element创建节点并设置属性

直接在创建 Element 时传入属性字典,或后续用 set() 方法添加/修改属性:

from xml.etree import ElementTree as ET

方式1:初始化时传入属性(推荐)

node = ET.Element("person", {"id": "101", "type": "student"})

方式2:创建后用 set() 添加或更新

node = ET.Element("person") node.set("id", "101") node.set("type", "student")

给子节点添加属性并构建完整结构

属性只属于节点本身,与文本内容无关。可链式构建带属性的嵌套结构:

root = ET.Element("school")

添加带属性的 student 节点

student = ET.SubElement(root, "student", id="2025001", grade="A") student.text = "张三" # 设置文本内容(不是属性)

添加带属性的 course 子节点

course = ET.SubElement(student, "course", code="CS101", credits="3") course.text = "Python编程"

生成字符串(美化缩进需自行处理或用第三方库)

print(ET.tostring(root, encoding="unicode"))

注意属性值必须是字符串

ElementTree 要求所有属性值为字符串类型。传入数字、布尔值等会报错:

  • ✅ 正确:node.set("age", "22")node.set("active", "true")
  • ❌ 错误:node.set("age", 22)(会抛 TypeError
  • ? 建议统一用 str() 转换,如 node.set("count", str(5))

保存到文件并支持中文和缩进(可选增强)

默认 tostring() 不缩进,也不自动声明编码。如需可读性更好的输出,可简单补缩进,或用 xml.dom.minidom 格式化:

# 简单缩进(适用于小结构)
rough_string = ET.tostring(root, encoding="unicode")
dom = xml.dom.minidom.parseString(rough_string)
pretty_xml = dom.toprettyxml(indent="  ", encoding="utf-8").decode("utf-8")

with open("output.xml", "w", encoding="utf-8") as f: f.write(pretty_xml)


# python  # node  # 编码  # python编程  # red 


相关文章: 智能起名网站制作软件有哪些,制作logo的软件?  视频网站制作教程,怎么样制作优酷网的小视频?  Android使用GridView实现日历的简单功能  建站之星代理如何获取技术支持?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  常州自助建站费用包含哪些项目?  如何快速建站并高效导出源代码?  免费视频制作网站,更新又快又好的免费电影网站?  高防服务器租用首荐平台,企业级优惠套餐快速部署  如何在宝塔面板中修改默认建站目录?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  C++如何使用std::optional?(处理可选值)  c++怎么用jemalloc c++替换默认内存分配器【性能】  内部网站制作流程,如何建立公司内部网站?  如何在Golang中使用encoding/gob序列化对象_存储和传输数据  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  h5在线制作网站电脑版下载,h5网页制作软件?  建设网站制作价格,怎样建立自己的公司网站?  如何快速登录WAP自助建站平台?  制作网站的软件免费下载,免费制作app哪个平台好?  建站之星安装后如何自定义网站颜色与字体?  如何通过虚拟主机快速搭建个人网站?  建站主机是否等同于虚拟主机?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何用PHP工具快速搭建高效网站?  如何在腾讯云服务器上快速搭建个人网站?  音乐网站服务器如何优化API响应速度?  如何在景安云服务器上绑定域名并配置虚拟主机?  网站制作企业,网站的banner和导航栏是指什么?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  如何解决ASP生成WAP建站中文乱码问题?  制作农业网站的软件,比较好的农业网站推荐一下?  教程网站设计制作软件,怎么创建自己的一个网站?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  如何通过万网虚拟主机快速搭建网站?  已有域名和空间如何快速搭建网站?  小程序网站制作需要准备什么资料,如何制作小程序?  如何自定义建站之星网站的导航菜单样式?  网站制作壁纸教程视频,电脑壁纸网站?  ,怎么用自己头像做动态表情包?  如何快速查询网站的真实建站时间?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  宁波免费建站如何选择可靠模板与平台?  如何用已有域名快速搭建网站?  存储型VPS适合搭建中小型网站吗?  开心动漫网站制作软件下载,十分开心动画为何停播?  ,巨量百应是干嘛的?  如何在IIS中配置站点IP、端口及主机头? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。