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

XSLT3.0解析JSON数据无法获取指定key对应值问题求助

问题原因

  • json-to-xml()函数返回的是临时节点树,你没有将其保存到变量中,后续XPath表达式//*[@key='car']是在原始输入文档的节点树中检索,原始输入仅包含<data>节点包裹的JSON文本,不存在带key属性的节点,因此检索不到结果。
  • 你设置了<xsl:mode on-no-match="shallow-skip"/>,调用<xsl:apply-templates select="json-to-xml(.)/*"/>时,没有对应的匹配模板处理json-to-xml生成的节点,所有节点都会被直接跳过,不会产生任何输出。

解决方法

直接将json-to-xml()的输出存入变量,再从变量中检索对应key的节点值即可,修改后的XSLT代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="3.0">
    <xsl:output method="xml" indent="yes"/>
    <xsl:mode on-no-match="shallow-skip"/>
    <xsl:template match="data">
        <!-- 将JSON转XML的结果存入变量 -->
        <xsl:variable name="json-xml" select="json-to-xml(.)"/>
        <!-- 从变量中检索car节点的值 -->
        <xsl:value-of select="$json-xml//*[@key='car']"/>
    </xsl:template>
</xsl:stylesheet>

修改后运行即可得到预期的输出结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 20:15:04