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

XSLT3.0处理JSON转XML时如何按键名而非索引定位同级url节点

问题原因

你用键名查询失败是对json-to-xml函数的输出结构不熟悉:XPath 3.1 转换JSON到XML时,不会把JSON的键作为XML元素名,所有键都会存储为对应元素的key属性,元素名则和JSON值的类型对应(比如字符串对应<string>、对象对应<map>)。你要查询的url对应的XML节点实际是<string key="url">http:www.example-10.com</string>,不是<url>,所以直接写../../url无法匹配到节点。

解决方案

完全可以用键名替代索引号查询,将你注释的测试4的写法替换为以下内容即可,不受JSON字段顺序调整的影响,比索引号更稳定:

<xsl:value-of select="../../*[@key = 'url']"/>

如果担心相对路径导航出错,也可以用全局定位的写法直接获取url节点,不需要逐级找父节点:

<xsl:value-of select="/*/map:map/*[@key = 'url']"/>

注意:map命名空间你已经在XSLT顶部声明过,可以直接使用

替换后运行即可得到你预期的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 14:36:02