Xml 如何根据节点值获取子节点的计数?
我有一个如下的xmlXml 如何根据节点值获取子节点的计数?,xml,xslt,xpath,Xml,Xslt,Xpath,我有一个如下的xml <Result> <Message> <Type>Error</Type> <Description>ABC</Description> </Message> <Message> <Type>Warning</Type> <Description>DEF</Descr
<Result>
<Message>
<Type>Error</Type>
<Description>ABC</Description>
</Message>
<Message>
<Type>Warning</Type>
<Description>DEF</Description>
</Message>
<Message>
<Type>Error</Type>
<Description>GHI</Description>
</Message>
<Message>
<Type>Information</Type>
<Description>IJK</Description>
</Message>
</Result>
我可以使用count(//Message/Type)获得子记录的总数,结果是4
我想得到错误的总数,我试过了
计数(//消息/类型&eq;“错误”)
但它不起作用
这是我的xsl
<ul>
<xsl:for-each select="Message">
<li>
<xsl:value-of select="./Type" />
</li>
</xsl:for-each>
</ul>
Total Count Error:<xsl:value-of select="(count(//Error/Type &eq; "Error"))"/>
-
总计数错误:
有人能帮忙吗?首先,如果您想输出每个消息元素的描述,您需要引用描述元素,而不是键入
<xsl:for-each select="Message">
<li>
<xsl:value-of select="Description" />
</li>
</xsl:for-each>
就总错误的总和而言,表达式如下(假设您位于父结果元素上)
<xsl:value-of select="count(Message[Type = 'Error'])"/>
试试这个XSLT
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="Result">
<ul>
<xsl:for-each select="Message">
<li>
<xsl:value-of select="Description" />
</li>
</xsl:for-each>
</ul>
Total Count Error:<xsl:value-of select="count(Message[Type = 'Error'])"/><br />
Total Count Warning:<xsl:value-of select="count(Message[Type = 'Warning'])"/><br />
Total Count Information:<xsl:value-of select="count(Message[Type = 'Information'])"/><br />
</xsl:template>
</xsl:stylesheet>
-
总计数错误:
总计数警告:
总计数信息:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="html" indent="yes"/>
<xsl:template match="Result">
<ul>
<xsl:for-each select="Message">
<li>
<xsl:value-of select="Description" />
</li>
</xsl:for-each>
</ul>
Total Count Error:<xsl:value-of select="count(Message[Type = 'Error'])"/><br />
Total Count Warning:<xsl:value-of select="count(Message[Type = 'Warning'])"/><br />
Total Count Information:<xsl:value-of select="count(Message[Type = 'Information'])"/><br />
</xsl:template>
</xsl:stylesheet>