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

Python操作XML:修改指定属性与节点值的方法

修改XML中v1、v2、v3值的方法

首先注意你提供的XML有两处语法错误:<C>text<C>和<D>text2<D>的结束标签缺少斜杠,正确写法是</C>和</D>,否则XML无法被标准工具正常解析。

一、手动修改(适合简单场景)

直接打开XML文件,找到对应位置修改即可:

  • 找到<E a=v1 b=v2>行,把v1替换为目标值(规范建议给属性值加双引号,比如改成a="new_v1")
  • 同样把v2替换为需要的值,比如b="new_v2"
  • 找到<F>v3</F>,将标签内的v3替换为新文本内容,比如<F>new_v3</F>

修改后的XML示例:

<A>
   <B>
      <C>text</C>
      <D>text2</D>
      <E a="new_v1" b="new_v2">
         <F>new_v3</F>
      </E>
   </B>
</A>

二、代码自动化修改(适合重复/批量操作)

以Python为例,使用标准库xml.etree.ElementTree处理:

示例代码

import xml.etree.ElementTree as ET

# 解析XML(若处理本地文件,替换为ET.parse("your_file.xml"))
xml_content = '''
<A>
   <B>
      <C>text</C>
      <D>text2</D>
      <E a="v1" b="v2">
         <F>v3</F>
      </E>
   </B>
</A>
'''
root = ET.fromstring(xml_content)

# 定位<E>元素并修改属性
e_node = root.find('./B/E')
e_node.set('a', 'new_v1')
e_node.set('b', 'new_v2')

# 定位<F>元素并修改文本
f_node = e_node.find('./F')
f_node.text = 'new_v3'

# 输出结果(若保存到文件,用ET.ElementTree(root).write("output.xml"))
ET.dump(root)

代码说明

  • root.find('./B/E')通过XPath路径快速定位到节点
  • set()方法用于更新元素的属性值
  • 直接修改text属性即可更新标签内的文本内容
  • 处理本地文件时,替换fromstring为parse方法,最后用write保存修改结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 14:15:04