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

使用LXML与Python修改XML文件

使用Python和LXML修改XML文件内容

没问题,这就手把手教你用Python的LXML库完成这个XML修改需求,步骤简单明了:

1. 准备工作

首先确保你已经安装了LXML库,如果没装的话,用pip快速安装:

pip install lxml

2. 编写Python代码

接下来写代码实现修改逻辑,核心是解析XML、定位目标元素、修改内容再保存:

from lxml import etree

# 1. 加载并解析目标XML文件
tree = etree.parse('definitions.xml')
root = tree.getroot()

# 2. 定位并修改name为"am"的property元素内容
am_prop = root.find(".//property[@name='am']")
if am_prop:  # 先判断元素是否存在,避免出现空指针报错
    am_prop.text = "NEW_A"

# 3. 定位并修改name为"24hours"的property元素内容
hours_prop = root.find(".//property[@name='24hours']")
if hours_prop:
    hours_prop.text = "NEW_B"

# 4. 保存修改后的XML文件
# 设置xml_declaration=True保留XML声明,pretty_print=True让输出格式更整洁易读
tree.write('definitions.xml', encoding='utf-8', xml_declaration=True, pretty_print=True)

代码说明

  • 用etree.parse()加载XML文件,获取整个文档树和根节点
  • 通过XPath表达式.//property[@name='xxx']精准定位到需要修改的元素,.//表示在整个文档树中递归搜索匹配的元素
  • 修改元素的text属性就能直接替换其内部的文本内容
  • 保存时指定编码和格式化参数,确保输出的XML格式规范、可读性强

如果你的XML文件里有正式的命名空间声明(比如xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"),也不用担心,上面的代码依然能正常工作——我们是通过元素的属性直接定位的,不受命名空间影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:48:13