我試圖回傳以NB開頭的名字的數量,但我遇到了麻煩,因為它回傳0。希望得到任何幫助!
XML輸入:
XML輸入:
<?xml version='1.1' encoding='UTF-8'?>/span>
<breaches>/span>
<breach>/span>
<name>/span>NB111</name>/span>
<severity>MAJOR</severity>/span>
</breach>/span>
<breach>/span>
<name>/span>NB222</name>
<severity>MAJOR</severity>/span>
</breach>/span>
<breach>/span>
<name>/span>NB333</name>
<severity>MAJOR</severity>/span>
</breach>/span>
<breach>/span>
<name>/span>PO999</name>
<severity>MAJOR</severity>
</breach>/span>
</breach>/span>
XSL
<xsl:styleheet version="1. 0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/"/span>>
<xsl:value-of select="count(/breaches/breach/name/*[contains(text(), 'NB')]" />/span>
</xsl:template>
</xsl:styleheet>/span>
結果
<?xml version="1.0" encoding="UTF-8"? >0
uj5u.com熱心網友回復:
我試圖回傳以NB開頭的名字的數量
如果你想計算以 "NB "開頭的名字,那么使用
starts-with()函式,而不是contains()函式:<xsl: value-of select="count(breaches/breach[started-with(name, 'NB')])"/>/span>這實際上是在計算有一個以 "NB "開頭的子
name元素的breach。也就是說,它假設每個breach只有一個name。如果這種假設是不正確的,那么請使用:
<xsl:value-of select="count(breaches/breach/name[started-with(. , 'NB')])"/>要計算實際的
name元素。uj5u.com熱心網友回復:
你可以這樣做 :
<xsl:styleheet version="1. 0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"/span>> <xsl:value-of select="count(breaches/breach/name[contains(., 'NB')])" />/span> </xsl:template> </xsl:styleheet>/span>看到它在這里作業。https://xsltfiddle.liberty-development.net/jxWZS86
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/324481.html
標籤:
上一篇:str方法不能正確列印
