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

如何使用XSLT 1.0为JSON内容添加XML父包裹节点

XSLT 1.0 为JSON内容添加XML父节点实现方案

XSLT 1.0 原生仅支持处理合法XML格式输入,无原生JSON解析能力。当前需求不需要解析JSON内部结构,仅需给整段JSON文本外层包裹指定XML标签,直接将JSON作为纯文本处理即可,实现成本最低、兼容性最高。

前置准备

XSLT 1.0 无法直接读取非XML格式的纯JSON文件,需先将待处理的JSON内容作为纯文本存入临时XML的根节点下,临时输入示例:

<jsonContent>{
  "EmployerRegistrationReq": {
    "EmployerRegistrationReq": {
      "EmployerRegistrationHeader": {
        "CorporateID": "SIT0001",
        "CorpReferenceNumber": 48499964
                                     }
                                }
                              }
 }
</jsonContent>

若使用的XSLT 1.0处理器支持纯文本读取扩展(如Saxon 6.5、MSXML的文本加载扩展函数),可跳过该步骤,直接通过扩展函数读取JSON文件的文本内容。

转换样式表

使用如下XSLT 1.0代码即可完成转换:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <!-- 关闭XML声明输出,避免多余内容 -->
    <xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="yes" indent="no"/>
    
    <xsl:template match="/">
        <Library>
            <!-- 输出换行匹配预期格式 -->
            <xsl:text>&#10;</xsl:text>
            <!-- 输出完整JSON文本,使用扩展函数读取时替换下方select属性值即可 -->
            <xsl:value-of select="jsonContent/text()"/>
            <xsl:text>&#10;</xsl:text>
        </Library>
    </xsl:template>
</xsl:stylesheet>

关键配置说明

  • omit-xml-declaration="yes"为必填配置,否则输出开头会自动追加XML版本声明,不符合输出要求
  • 直接按纯文本输出JSON内容可100%保留原有缩进、换行、字符格式,不会出现特殊字符转义、结构错乱问题
  • 转换输出结果与给出的预期完全一致,外层为<Library>根节点,内部JSON内容无任何修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 07:24:24