You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python脚本将OrderCount嵌套在Orders和Item节点下生成XML

调整Python XML生成代码的方案

你的核心需求是把OrderCount节点嵌套到Orders下的Item节点中,同时要注意XML必须有唯一根节点(你给出的目标XML片段存在两个顶级元素,不符合XML规范,因此需要添加一个根容器来包裹它们)。以下是修改后的完整代码:

import xml.etree.cElementTree as ET

# 创建根容器,用于包裹FileInfo和Orders两个同级节点
root = ET.Element("Root")

# 创建FileInfo节点并添加子元素
file_info = ET.SubElement(root, "FileInfo")
ET.SubElement(file_info, "FileFormatVersion").text = "1.0"
ET.SubElement(file_info, "CustomerName").text = "GCS0223"
ET.SubElement(file_info, "Source").text = "nA"

# 创建Orders -> Item -> OrderCount的嵌套结构
orders = ET.SubElement(root, "Orders")
item = ET.SubElement(orders, "Item")
ET.SubElement(item, "OrderCount").text = "1"

# 生成XML文件,指定XML声明和编码
tree = ET.ElementTree(root)
tree.write(r'c:\AH_Output\IGW.xml', xml_declaration=True, encoding='UTF-8', method='xml')

生成的规范XML结构

<?xml version='1.0' encoding='UTF-8'?>
<Root>
    <FileInfo>
        <FileFormatVersion>1.0</FileFormatVersion>
        <CustomerName>GCS0223</CustomerName>
        <Source>nA</Source>
    </FileInfo>
    <Orders>
        <Item>
            <OrderCount>1</OrderCount>
        </Item>
    </Orders>
</Root>

关键调整说明

  • 新增根容器节点:解决XML必须有唯一根的规范要求,避免生成无效XML文件。
  • 层级拆分重构:将原来直接挂载在根节点下的OrderCount,通过Orders→Item的层级嵌套实现你需要的结构。
  • 写入参数优化:添加xml_declaration=True和encoding='UTF-8'参数,确保生成的XML包含正确的版本和编码声明,与你目标结构一致。

内容的提问来源于stack exchange,提问作者Andrew Haworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 04:27:18