2016-07-30 137 views
2

我想從下面XML匹配屬性(磅= prodbind和s = FALSE):如何寫一個XPath/XSLT查詢匹配兩個屬性

< testResults version="1.2"> 

< sample na="2" ng="2" by="346" dt="text" tn="Thread Group 1-2" rm="javax.naming.CommunicationException: defaulthost:30 [Root exception is java.net.UnknownHostException: defaulthost]" rc="800" lb="ProdBind" s="false" ts="1468674969351" lt="0" t="2123"/> 

嘗試這些選項,但沒有運氣:

< xsl:variable name="prod1fail" select="count(/testResults/*[@lb = 'prodBind' and @s='false'])"/> 

< xsl:variable name="prod1fail" select="count(//testResults/sample[@lb = 'prodBind' and @s='false'])"/> 

感謝您的指點。

+0

「*沒有運氣*」是沒有問題的一個很好的說明。 –

回答

1

XML是大小寫敏感的:"ProdBind"是不一樣的東西"prodBind"

如果(這就是根本不清楚從你的問題)你想算多少sample元素滿足給定的標準,那麼你應該使用:

count(/testResults/sample[@lb='ProdBind' and @s='false']) 

還要注意元素名稱不能以空格開始 - 因此,如果您輸入真有:

< testResults version="1.2"> 

那麼它不是一個XML文檔,根本就不能被XSLT處理。

0

小記,與一些處理器也將以更快的速度將and打入的過濾器的順序:

count(/testResults/sample[@lb='ProdBind'][@s='false']) 
+0

感謝您修復,Mads。 –

相關問題