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

Python saxonche中executable.transform_to_value返回None的问题排查

问题解决:saxonche中transform_to_value返回None的原因及修复

问题原因

你误用了方法:transform_to_value 设计用于获取XSLT返回的单一原子值(如字符串、数字等),而你的XSLT生成了完整的节点树结构,因此该方法无法识别并返回None。而transform_to_string是直接将转换后的节点树序列化为字符串,所以能正常工作。

修复方案

要获取转换后的PyXdmNode节点,应使用**transform_to_node**方法替换transform_to_value。

修改后的代码片段

# 替换原来的transform_to_value
result_xdm = executable.transform_to_node(xdm_node=input_xdm)
print(type(result_xdm))
print(result_xdm)
# 可选:将节点序列化为字符串验证结果
print(result_xdm.serialize())

预期输出

修改后,result_xdm的类型会是<class 'saxonche.PyXdmNode'>,调用serialize()方法会输出和transform_to_string一致的XML字符串。

补充说明

如果确实需要使用transform_to_value,可以修改XSLT让其返回单一值(比如直接返回节点的文本),但这不符合你当前生成完整节点树的需求,因此使用transform_to_node是最直接的解决方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 09:15:10