Afs*_*ami 5 xml xslt count cdata conditional-statements
我有一个这种结构的xml:
<emails>
<record>
<field name="host"><![CDATA[yahoo]]></field>
<field name="user"><![CDATA[abc]]></field>
</record>
<record>
<field name="host"><![CDATA[gmail]]></field>
<field name="user"><![CDATA[abc]]></field>
</record>
<record>
<field name="host"><![CDATA[yahoo]]></field>
<field name="user"><![CDATA[cdx]]></field>
</record>
</emails>
Run Code Online (Sandbox Code Playgroud)
并且,我想计算host = yahoo的记录数.我知道我需要使用count(),但我无法弄清楚如何.
Tim*_*m C 10
假设您被定位在电子邮件元素上,这是您可能想要的表达式
<xsl:value-of select="count(record[field[@name='host']/text()='yahoo'])" />
Run Code Online (Sandbox Code Playgroud)
例如,试试这个XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/emails">
<xsl:value-of select="count(record[field[@name='host']/text()='yahoo'])" />
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
假设您的XML格式正确,并且您的CDATA标记格式正确,则应输出3.
归档时间: |
|
查看次数: |
11439 次 |
最近记录: |