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

如何依据TYPE标签匹配结果更新XML中的ID字段值?

按TYPE值更新XML中的ID标签

你已经完成了定位目标节点的第一步,接下来需要遍历匹配到的节点,找到其中的ID子元素并修改内容,完整实现代码如下:

import xml.etree.ElementTree as ET

# 定义替换用的ID变量
NEW_ID1 = "你的FIRST类型新ID"
NEW_ID2 = "你的SECOND类型新ID"

# 解析XML文件
tree = ET.parse("sample.xml")
root = tree.getroot()

# 处理TYPE为FIRST的节点
for outer_node in root.findall(".//OUTER[TYPE='FIRST']"):
    id_element = outer_node.find("ID")
    if id_element:  # 确保ID节点存在
        id_element.text = NEW_ID1

# 处理TYPE为SECOND的节点
for outer_node in root.findall(".//OUTER[TYPE='SECOND']"):
    id_element = outer_node.find("ID")
    if id_element:
        id_element.text = NEW_ID2

# 写入修改后的XML,指定编码避免乱码
tree.write("sample.xml", encoding="utf-8", xml_declaration=True)

关键说明:

  • 遍历findall返回的所有匹配节点,逐个处理每个OUTER节点
  • 用find("ID")获取当前OUTER下的ID子元素,判断存在后修改其text属性(避免节点不存在时报错)
  • 保存时指定encoding="utf-8"和xml_declaration=True,保证输出的XML格式正确且无乱码

如果后续需要支持更多TYPE值,只需复制对应的处理块,修改TYPE的匹配值和对应的ID变量即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:45:37