Python中创建带属性的XML节点最常用方式是xml.etree.ElementTree模块,推荐初始化时传入属性字典或用set()方法设置,属性值必须为字符串,支持中文和缩进需借助minidom格式化。
Python中创建带属性的XML节点,最常用且推荐的方式是使用内置的 xml.etree.ElementTree 模块。它简洁、标准、无需额外安装,适合大多数场景。
直接在创建 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
相关文章:
如何选择域名并搭建高效网站?
测试制作网站有哪些,测试性取向的权威测试或者网站?
教学论文网站制作软件有哪些,写论文用什么软件
?
,在苏州找工作,上哪个网站比较好?
SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何通过.red域名打造高辨识度品牌网站?
建站之星导航如何优化提升用户体验?
如何在万网主机上快速搭建网站?
如何获取上海专业网站定制建站电话?
贸易公司网站制作流程,出口贸易网站设计怎么做?
,网页ppt怎么弄成自己的ppt?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何获取PHP WAP自助建站系统源码?
网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?
宝塔面板创建网站无法访问?如何快速排查修复?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何通过商城免费建站系统源码自定义网站主题?
公司网站制作需要多少钱,找人做公司网站需要多少钱?
建站之星展会模版如何一键下载生成?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
建站之星价格显示格式升级,你的预算足够吗?
建站之星CMS五站合一模板配置与SEO优化指南
济南企业网站制作公司,济南社保单位网上缴费步骤?
如何获取免费开源的自助建站系统源码?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
建站之星后台密码遗忘或太弱?如何重置与强化?
公司门户网站制作流程,华为官网怎么做?
如何配置FTP站点权限与安全设置?
盐城做公司网站,江苏电子版退休证办理流程?
网站制作的方法有哪些,如何将自己制作的网站发布到网上?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
建站主机服务器选型指南与性能优化方案解析
太平洋网站制作公司,网络用语太平洋是什么意思?
电商网站制作价格怎么算,网上拍卖流程以及规则?
网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?
建站主机核心功能解析:服务器选择与网站搭建流程指南
高防服务器如何保障网站安全无虞?
外贸公司网站制作哪家好,maersk船公司官网?
宝塔新建站点为何无法访问?如何排查?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
如何在IIS7中新建站点?详细步骤解析
如何在腾讯云服务器上快速搭建个人网站?
免费制作小说封面的网站有哪些,怎么接网站批量的封面单?
如何在Golang中指定模块版本_使用go.mod控制版本号
如何通过免费商城建站系统源码自定义网站主题与功能?
简单实现Android文件上传
*请认真填写需求信息,我们会在24小时内与您取得联系。