全网整合营销服务商

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

免费咨询热线: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 


相关文章: 股票网站制作软件,网上股票怎么开户?  怎么将XML数据可视化 D3.js加载XML  如何用已有域名快速搭建网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  Android自定义控件实现温度旋转按钮效果  制作公司内部网站有哪些,内网如何建网站?  独立制作一个网站多少钱,建立网站需要花多少钱?  建站之星后台密码遗忘如何找回?  为什么Go需要go mod文件_Go go mod文件作用说明  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Swift开发中switch语句值绑定模式  宝塔建站后网页无法访问如何解决?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  如何生成腾讯云建站专用兑换码?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  盐城做公司网站,江苏电子版退休证办理流程?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  如何在阿里云香港服务器快速搭建网站?  ,怎么用自己头像做动态表情包?  建站之星代理商如何保障技术支持与售后服务?  建站之星CMS五站合一模板配置与SEO优化指南  简历在线制作网站免费版,如何创建个人简历?  广州美橙建站如何快速搭建多端合一网站?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  如何通过wdcp面板快速创建网站?  外贸公司网站制作哪家好,maersk船公司官网?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  如何用PHP快速搭建高效网站?分步指南  如何基于云服务器快速搭建个人网站?  建站DNS解析失败?如何正确配置域名服务器?  专业商城网站制作公司有哪些,pi商城官网是哪个?  大同网页,大同瑞慈医院官网?  如何快速生成橙子建站落地页链接?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  如何用wdcp快速搭建高效网站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  家具网站制作软件,家具厂怎么跑业务?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  潮流网站制作头像软件下载,适合母子的网名有哪些?  如何注册花生壳免费域名并搭建个人网站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  Swift中循环语句中的转移语句 break 和 continue  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  如何在阿里云服务器自主搭建网站?  香港服务器租用每月最低只需15元?  建站之星伪静态规则如何设置?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何在IIS中新建站点并解决端口绑定冲突? 

您的项目需求

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