如何用Python生成复杂的嵌套XML ElementTree教程-XML/RSS教程

生成复杂嵌套xml的关键是将结构视为“树形对象图”,支持边建边挂载或先建后拼接;subelement递进创建适合浅层结构,字典+递归适合深层动态场景,并可处理命名空间、注释等扩展需求。

理解ElementTree的嵌套逻辑

生成复杂嵌套XML的关键不是层层调用SubElement,而是把XML结构看作“树形对象图”:每个元素是可持有子元素的容器,子元素可继续添加子元素。ElementTree不强制一次性构建,支持边建边挂载,也支持先建好再拼接。

用SubElement递进创建多层结构

这是最直观的方式,适合结构明确、层级较浅(如4层以内)的场景。每一步都返回新创建的子元素,可立即在其上继续添加:

  • 用ET.Element("root")创建根节点
  • 对每个子节点,调用ET.SubElement(父节点, "标签名", attrib={...})
  • 返回值就是该子节点,可链式调用或赋值后复用
  • 文本内容通过.text = "值"设置,尾部空白用.tail(一般不用)

例如生成带属性和文本的三层结构:

import xml.etree.ElementTree as ET
<p>root = ET.Element("company", name="TechCorp")
dept = ET.SubElement(root, "department", id="d1")
emp = ET.SubElement(dept, "employee", status="active")
emp.text = "Alice"
ET.SubElement(emp, "role").text = "Engineer"
ET.SubElement(emp, "salary").text = "95000"</p><h1>输出美化后的XML</h1><p>ET.indent(root)  # Python 3.9+ 支持,需手动启用缩进
print(ET.tostring(root, encoding="unicode"))</p>

用字典+递归批量生成深层嵌套

当XML结构来自配置、数据库或API响应时,用嵌套字典描述更清晰。写一个递归函数,把字典自动转为ElementTree节点:

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » 如何用Python生成复杂的嵌套XML ElementTree教程-XML/RSS教程
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4029842+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4029842+
  • 本周更新: 0+
  • 最后更新: 2026-03-16