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

XSLT开发:如何将源XML元素值设置为新生成节点的属性值

问题原因

XSLT不支持直接在字面元素的属性值引号内嵌套<xsl:value-of>这类XSLT指令标签,你当前的写法属于语法错误。

解决方法

方法1:属性值模板(推荐,轻量场景首选)

XSLT提供了属性值模板语法,直接用{}包裹XPath表达式即可在属性中动态取值,写法如下:

<date value="{t:cell[1]}">
  <xsl:value-of select="t:cell[1]"/>
</date>

注意你原代码里属性名写的是when,和预期输出的value属性不一致,这里需要对应修改。

方法2:xsl:attribute显式创建属性(适合复杂逻辑场景)

如果属性值需要结合条件判断、循环等复杂逻辑生成,可以通过<xsl:attribute>节点显式创建属性:

<date>
  <xsl:attribute name="value">
    <xsl:value-of select="t:cell[1]"/>
  </xsl:attribute>
  <xsl:value-of select="t:cell[1]"/>
</date>

以上两种写法都可以生成你预期的转换结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 20:48:00