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

如何创建通用XSLT为任意格式XML输入添加外层包裹节点

通用XSLT改造方案

修改后的通用版本如下,可适配任意根节点的XML输入:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    version="1.0">
    <xsl:output method="xml" indent="yes"/>
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>

    <!-- 匹配任意根节点,无需指定具体节点名 -->
    <xsl:template match="/*">
        <soap:envelope>
        <soap:body>
            <xsl:copy-of select="."/>              
        </soap:body>
        </soap:envelope>
    </xsl:template>
</xsl:stylesheet>

核心修改说明

  • 新增soap命名空间声明:在xsl:stylesheet标签中添加xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/",避免命名空间未定义报错,可根据实际使用的SOAP版本调整命名空间地址。
  • 匹配规则改为/*:XPath中/*代表匹配XML文档的根元素,不管根元素的节点名是Order、Invoice还是其他任意值,都会触发该模板逻辑。
  • 复制逻辑改为select=".":保留完整的根节点及所有子内容,避免原写法只复制根节点子节点、丢失根节点本身的问题,和期望的输出格式完全匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:21:00