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

使用XSLT为XML添加CARRIER元素并赋值ABF的问题求助

问题根因

你当前的XSLT中创建CARRIER元素时未填充固定值ABF,导致该标签为空,无法满足第三项需求。

修改后的完整XSLT代码

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" indent="no"/>
    <xsl:template match="ABF">
        <QUOTETENDER>
            <!-- 直接填充CARRIER的固定值ABF -->
            <CARRIER>ABF</CARRIER>
            <xsl:apply-templates select="@*|node()"/>
        </QUOTETENDER>
    </xsl:template>
    <xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

说明:因为元素名是固定值,不需要动态生成,所以直接写静态标签<CARRIER>ABF</CARRIER>比用<xsl:element>语法更简洁易读,运行效果完全一致。

可选适配优化

如果你后续需要兼容不同的原根节点名称,不想硬写ABF,可以将CARRIER的赋值改为动态取原根节点名:

<CARRIER><xsl:value-of select="name(.)"/></CARRIER>

修改后XSLT会自动提取当前匹配的原根节点名称填充到CARRIER元素中,适配性更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 09:06:01