我在xsl(版本2.0)中编写样式表我想知道如何计算具有特定名称的所有节点,尽管它们不是兄弟姐妹 例如,在下面的xml中,我想计算来自-Milk类型但来自所有商店的产品数量。 我想知道是否有一种方法可以使用count函数而不是在使用Recursion。 对于此示例,结果应为4
<Shops><Shop>
<Product>
<Name>yogurt</Name>
<type>Milk</type>
</Product>
<Product>
<Name>cheese</Name>
<type>Milk</type>
</Product>
<Product>
<Name>bread</Name>
<type>Bakery</type>
</Product> </Shop> <Shop>
<Product>
<Name>yellow cheese</Name>
<type>Milk</type>
</Product>
<Product>
<Name>chocolate milk</Name>
<type>Milk</type>
</Product>
<Product>
<Name>bagel</Name>
<type>Bakery</type>
</Product>
<Product>
<Name>candy</Name>
<type>Sweets</type>
</Product> </Shop></Shops>
答案 0 :(得分:4)
这可以避免缓慢的“//
”运算符。
count(/Shops/Shop/Product[type = 'Milk'])
答案 1 :(得分:2)
count(//Product[type='Milk'])
//
在文档中的任何位置查找所有匹配的节点。