1
<result name="test">
   <cpu_time>  45346.23 </cpu_time>
   <max_mem>      1104 MB</max_mem>
</result>
<result name="error_test">
   <cpu_time>   5300.80 </cpu_time>
   <max_mem>      1059 MB</max_mem>
</result>

<cpu_time>我有一个上面的 XML 文件,我需要计算XSLT 中值小于 3600 的条目的次数。到目前为止,这是 XSLT:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text" encoding="iso-8859-1" indent="no"/>
  <xsl:template match="/">
    <xsl:value-of select="count(result/cpu_time) &lt; 3600" />
  </xsl:template>
</xsl:stylesheet>
4

2 回答 2

1

这对我有用(在www.xslfiddle.net上)

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" encoding="iso-8859-1" indent="no"/>
    <xsl:template match="root">
        <xsl:value-of select="count(result/cpu_time[. &lt; 3600])" />
    </xsl:template>
</xsl:stylesheet>

请注意,您需要一个用于 XML 的根元素,并且您的节点名称不匹配(我添加了一个名为“root”的根元素,并将所有子元素设置为“结果”以进行测试。)

于 2012-07-23T20:16:43.003 回答
1

尝试一些类似的东西

<xsl:value-of select="count(result[number(cpu_time) &lt; 3600])" />
于 2012-07-23T20:02:58.420 回答