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

Python修改XML树节点属性时出现AttributeError问题咨询

问题原因
  • 错误读取XML属性:Name是<Item>节点的属性,而非子节点,使用child.find("Name")查找子节点会返回None,调用.text属性时就会触发AttributeError。
  • 逻辑错误:嵌套循环遍历目标列表会导致Selected属性被反复覆盖,最终仅保留与列表最后一个元素的对比结果,无法实现需求。
  • XPath路径错误:如果你的root为XML根节点<Objects>,原路径./Objects/BigObj/ItemList/Item多写了一层<Objects>节点,会导致找不到目标节点。
修正后实现代码
lslist = ["s_1","s_4"]
# 可先打印root.tag确认根节点名称,按需调整XPath路径
for child in root.findall("./BigObj/ItemList/Item"):
    # 使用get方法直接读取节点属性
    item_name = child.get("Name")
    # 单次判断即可完成属性设置
    child.set("Selected", "true" if item_name in lslist else "false")
验证说明

执行代码后,Name为s_1、s_4的<Item>节点Selected属性会被设置为true,其余节点属性会被设置为false,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 03:24:06