gpt4 book ai didi

XSLT 1.0 将多个节点的值相加

转载 作者:行者123 更新时间:2023-12-01 07:15:03 26 4
gpt4 key购买 nike

假设我有以下 XML

    <A>100</A>
<B>200</B>
<C>300</C>

和以下 XSLT
  <TEST>
<xsl:value-of select="A + B + C"/>
</TEST>

它产生以下输出
<TEST>600</TEST>

但是,当其中一个节点为空时
    <A></A>
<B>200</B>
<C>300</C>

我得到以下信息。
<TEST>NaN</TEST>

我只想添加有效数字的节点。如果 xsl 允许我通过添加到已经存在的变量来动态替换变量值,我可以做到这一点,但即使这样也会很麻烦。我认为有一种简单的方法可以让我失踪?

我只想要 XSLT 1.0 答案。

谢谢!

最佳答案

  <TEST>
<xsl:value-of select="sum((A | B | C)[number(.) = .])"/>
</TEST>

即,对由内容可用作数字的元素组成的元素 A、B、C 的子集求和。

请注意 number('') yield NaN , 和 (NaN = NaN)为 false,因此这将不包括没有文本内容的元素。

我们测试 https://stackoverflow.com/a/3854389/423105 中讨论的数字

关于XSLT 1.0 将多个节点的值相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12270318/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com