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

Python中使用XSLT转换XML时报错name 'testing'未定义如何解决

问题修复方案

你遇到的报错是Python语法错误,直接原因是传入ET.parse()的文件名没有加引号:Python会把未加引号的testing.xml识别为「获取testing变量的xml属性」,而你没有定义过名为testing的变量,因此抛出name "testing" is not defined的错误。

修正后的Python代码

将两个文件名用引号包裹为字符串类型即可,参考代码如下:

import lxml.etree as ET

dom = ET.parse('testing.xml')
xslt = ET.parse('testing.xsl')
transform = ET.XSLT(xslt)
newdom = transform(dom)
# 因XSL指定输出为文本格式,可直接转字符串输出
print(str(newdom))

其他注意事项

  • 如果运行时提示文件不存在,可将文件名替换为文件的绝对路径,或者确认Python运行时的工作目录和testing.xml、testing.xsl的存放目录一致。
  • 你当前的XML中定义了两个<Title>节点,现有XSL只会匹配返回第一个节点的值Snacks,如果需要同时输出两个分类的内容,可以调整XSL的匹配规则遍历所有<Title>节点即可。

内容的提问来源于stack exchange,提问作者TAI YU ZHE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 19:57:00