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

如何使用XSLT在XML指定位置添加固定值新元素

实现方法

你现有的身份模板(Identity Template)已经实现了其他内容的原样复制,只需要新增一个匹配m2:custDetails节点的模板,在输出该节点前插入硬编码的新元素即可。

完整可用的XSLT代码:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"  xmlns:m2="http://www.w3.org/2001/XMLSchema-instance">
    <xsl:output method="xml" encoding="utf-8" indent="yes"/>
    <!-- Identity template : copy all text nodes, elements and attributes -->   
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()" />
        </xsl:copy>
    </xsl:template>
    <!-- 匹配custDetails节点,插入新元素后再复制该节点 -->
    <xsl:template match="m2:custDetails">
        <m2:overrideScriptName>NewScript</m2:overrideScriptName>
        <xsl:copy-of select="."/>
    </xsl:template>
</xsl:stylesheet>

逻辑说明:

  • 原有身份模板保持不变,负责原样复制所有不需要修改的节点、属性、文本内容
  • 新增的模板命中m2:custDetails节点后,先输出你需要的硬编码元素,再原样复制当前m2:custDetails节点的全部内容,自然就实现了新元素插在m2:custDetails前面的效果
  • 你之前直接写在xsl:stylesheet根节点下的m2:overrideScriptName是无效代码,不会插入到目标XML的指定位置,记得删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 03:06:04