Python 存储有缩进的XML
利用文件夹中
C:\Python38\Lib\xml\dom
中有一个minidom.py 中的方法。
1. 把内存中的根节点 root, 利用ET.tostring 转换成紧凑型的string
2. 利用minidom中parseString的方法,把上述紧凑型的字符串重新解析reparsed
3. 利用toprettyxml的方法,返回出漂亮的xml
from xml.etree import ElementTree as ET from xml.dom import minidom def prettify(root): """ 将节点转换成字符串,并添加缩进。 :param root: :return: """ rough_string = ET.tostring(root, encoding='utf-8') reparsed = minidom.parseString(rough_string) return reparsed.toprettyxml(indent="\t") root = ET.Element("Family", {"age": "20"}) tree = ET.ElementTree(root) son1 = root.makeelement("Family", {"age": "18"}) son2 = root.makeelement("Family", {"age": "19"}) root.append(son1) root.append(son2) grandson = ET.SubElement(son1, "family", {"sex": "feman"}) grandson.text = "这是一个孙子" new_str = prettify(root) f = open("pretty.xml",'w',encoding='utf-8') f.write(new_str) f.close() # tree.write("pretty.xml", xml_declaration=True, short_empty_elements=True, encoding='utf-8')
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 大数据高并发核心场景实战,数据持久化之冷热分离
· 运维排查 | SaltStack 远程命令执行中文乱码问题
· Java线程池详解:高效并发编程的核心利器
· 从“看懂世界”到“改造世界”:AI发展的四个阶段你了解了吗?
· 协程本质是函数加状态机——零基础深入浅出 C++20 协程
· 基于.net6的一款开源的低代码、权限、工作流、动态接口平台
· 一个自认为理想主义者的程序员,写了5年公众号、博客的初衷
· .NET 8 gRPC 实现高效100G大文件断点续传工具
· LinqPad:C#代码测试学习一品神器
· 基于 C# 编写的轻量级工控网关和 SCADA 组态软件