我有一个例子,比如:
<AgentInfo>
<NumberOfAgent>
<NUMBER_OF_AGENTS>24</NUMBER_OF_AGENTS>
<DAY>2018-10-10T00:00:00+01:00</DAY>
<SKILLSET_NAME>SOA</SKILLSET_NAME>
</NumberOfAgent>
<NumberOfAgent>
<NUMBER_OF_AGENTS>3</NUMBER_OF_AGENTS>
<DAY>2018-10-10T00:00:00+01:00</DAY>
<SKILLSET_NAME>C#</SKILLSET_NAME>
</NumberOfAgent>
<NumberOfAgent>
<NUMBER_OF_AGENTS>8</NUMBER_OF_AGENTS>
<DAY>2018-10-10T00:00:00+01:00</DAY>
<SKILLSET_NAME>Skillset2</SKILLSET_NAME>
</NumberOfAgent>
<NumberOfAgent>
<NUMBER_OF_AGENTS>1</NUMBER_OF_AGENTS>
<DAY>2018-10-11T00:00:00+01:00</DAY>
<SKILLSET_NAME>Uninstalling Windows</SKILLSET_NAME>
</NumberOfAgent>
</AgentInfo>当日期匹配时,我想要计算值的总和(同一天的值),例如: 2018-10-10天的和将是35。我试了很多但没有运气。
发布于 2018-10-23 11:33:03
诀窍是先将条目按日分组,然后在组内进行和。尝试以下几点:
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match="AgentInfo">
<AllUsers>
<xsl:for-each-group select="NumberOfAgent" group-by="./DAY">
<group>
<count><xsl:value-of select="sum(current-group()/NUMBER_OF_AGENTS)"/></count>
<day><xsl:value-of select="DAY"/></day>
</group>
</xsl:for-each-group>
</AllUsers>
</xsl:template>
</xsl:stylesheet>发布于 2018-10-23 11:40:25
?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" />
<xsl:template match="/">
<xsl:value-of select="sum(/AgentInfo/NumberOfAgent[DAY='2018-10-10T00:00:00+01:00']/NUMBER_OF_AGENTS)"/>
</xsl:template>
</xsl:stylesheet>https://stackoverflow.com/questions/52947529
复制相似问题