XSLT从一行开始计算tabledatas

时间:2016-11-03 07:47:51

标签: xml xslt foreach

我想算一下td的tr。

我的XML:

<table-opt>
    <tablerow>
        <table_data>test</table_data>
    </tablerow>
    <tablerow>
        <table_data>test2</table_data>
    </tablerow>
    <tablerow>
        <table_data>test3</table_data>
    </tablerow>
</table-opt>

我的XSL:

 <xsl:template name="table-opt">
    <xsl:variable name="countdata" select="count(.//tablerow/table_data)"></xsl:variable>
        <table border="0" cellpadding="0" cellspacing="0" class="fullwidth" width="640px">
            <tr>
                <td width="640px" align="center">
                   <xsl:value-of select="$countdata"/>
                </td>
            </tr>
        </table>
</xsl:template>

所以现在它给了我答案3.我明白为什么,但我实际上想要答案1因为每个table_data只有一个tablerow。我怎么能这样做?

我知道如果在一个tablerow中只有两个table_data,我就会遇到问题。但是忘了这个选择,它永远不会发生。

1 个答案:

答案 0 :(得分:0)

我明白了!只需将$ countdata变量放入每个tablerow的for-each中。我希望我可以帮助其他类似问题的用户。