我有一个像这样的xml文件:
<RESULTS>
<COMPONENT>
<COMPONENT_NAME>APP1</COMPONENT_NAME>
<COMPONENT_TOTAL>26</COMPONENT_TOTAL>
<COMPONENT_TESTED>4</COMPONENT_TESTED>
<COMPONENT>
<COMPONENT>
<COMPONENT_NAME>APP2</COMPONENT_NAME>
<COMPONENT_TOTAL>10</COMPONENT_TOTAL>
<COMPONENT_TESTED>9</COMPONENT_TESTED>
</COMPONENT>
</RESULTS>
这是我当前的xsl C#代码:
StringBuilder sb = new StringBuilder();
sb.AppendLine("<xsl:for-each select='RESULTS/COMPONENT'>");
sb.AppendLine("<xsl:value-of select='COMPONENT_NAME'/> " + " = " + "
<xsl:value-of select='COMPONENT_TESTED'/> " + " / " + "
<xsl:value-of select='COMPONENT_TOTAL'/>") ;
它给出了; APP1 = 4/26
APP2 = 9/10
我想做一个计算。 (测试/总计)* 100
所以APP2(9/10)* 100 = 90&#34;%&#34;
我该怎么做?
到目前为止,我尝试了这些,
string a = "<xsl:value-of select='COMPONENT_NAME'/>"; // not working
sb.AppendLine("<xsl:value-of select= " + "\"" + "sum (COMPONENT/[@'COMPONENT_TESTED'] / COMPONENT/[@'COMPONENT_TOTAL']) " + "\"" + " />");
sb.AppendLine("<xsl:name='tested' select='COMPONENT_TESTED'/>" + <xsl:name='total' select='COMPONENT_TOTAL'/>"
它们都不起作用:(
答案 0 :(得分:1)
尝试:
<xsl:value-of select='COMPONENT_TESTED div COMPONENT_TOTAL * 100'/>
或者,恕我直言更正确:
<xsl:value-of select='format-number(COMPONENT_TESTED div COMPONENT_TOTAL, "#%")'/>