gpt4 book ai didi

xml - XSL 计数带参数的节点数

转载 作者:数据小太阳 更新时间:2023-10-29 03:02:11 26 4
gpt4 key购买 nike

我有以下 xml:

 <pax>
<age>5</age>
</pax>
<pax>
<age>5</age>
</pax>
<pax>
<age>12</age>
</pax>

以及以下 xslt:

 <xsl:for-each select="paxes/pax">
<xsl:variable name="PaxAge" select="age"/>
<COUNT>
<xsl:value-of select='count(paxes/pax/age[text()=$PaxAge])'/>
</COUNT>
</xsl:for-each>

但是我得到的结果总是

<COUNT>0</COUNT>
<COUNT>0</COUNT>
<COUNT>0</COUNT>

如果我把它改成

<xsl:value-of select='count(paxes/pax/age[text()="5"])'/>

我会收到

<COUNT>2</COUNT>
<COUNT>2</COUNT>
<COUNT>2</COUNT>

输出应该是:

<COUNT>2</COUNT>
<COUNT>1</COUNT>

如何获取每次迭代的写入计数?

最佳答案

假设您正在尝试计算这应该起作用的次数,

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:key name="age" match="/paxes/pax/age" use="." />

<xsl:template match="/">
<xsl:for-each select="paxes/pax/age[generate-id(.) = generate-id(key('age', .)[1])]">
<COUNT>

<!-- optional -->
<xsl:attribute name="age">
<xsl:value-of select="."/>
</xsl:attribute>

<xsl:value-of select="count(key('age',.))"/>
</COUNT>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>

应该给出一个像这样的 xml:

<COUNT age="5">2</COUNT>
<COUNT age="12">1</COUNT>

关于xml - XSL 计数带参数的节点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27543810/

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