CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  XML/SOAP

还请ssm1226(雨中人)帮我看看!!关于统计显示的问题!

楼主lanshantutu(lanshan)2003-04-02 13:57:51 在 Web 开发 / XML/SOAP 提问

我的XML和XSL如下:  
   
  查询.XML:  
  <?xml   version="1.0"   encoding="GB2312"   standalone="no"?>  
  <?xml-stylesheet   type="text/xsl"   href="查询.xsl"?>  
  <CD>  
  <查询>  
  <NUMBER>12</NUMBER>  
  <CODE>  
  <DATASET>  
  <DEFINE>  
  <FIELDS>  
  <MPHONECODE/>  
  </FIELDS>  
  </DEFINE>  
  <DATA>  
  <ROW   FEE1="1"   FEE2="24.99"/>  
  <ROW   FEE1="2"   FEE2="2.88"/>  
  <ROW   FEE1="1"   FEE2="45.77"/>  
  <ROW   FEE1="2"   FEE2="56.67"/>  
  </DATA>  
  </DATASET>  
  </CODE>  
  </查询>  
  </CD>  
   
  查询.XSL:  
  <?xml   version="1.0"   encoding="GB2312"?>  
  <xsl:stylesheet   xmlns:xsl="http://www.w3.org/TR/WD-xsl"   xmlns="http://www.w3.org/TR/REC-html40"   result-ns="">  
  <xsl:template><xsl:apply-templates/></xsl:template>  
  <xsl:template   match="/">  
  <HTML>  
  <HEAD>  
  <TITLE>查询</TITLE>  
  </HEAD>  
  <BODY>  
  <xsl:apply-templates   select="CD/查询"/>  
  </BODY>  
  </HTML>  
  </xsl:template>  
  <xsl:template   match="查询">  
  <form   name="form1"   method="post"   action="">  
  <p></p>  
  <table   width="96%"   border="0"   align="center"   cellspacing="0">  
      <tr>    
          <td   height="550">    
              <table   width="100%"   height="539"   border="0"   align="center"   cellpadding="0"   cellspacing="0"   bordercolor="#EEF4FA">  
                      <tr>    
                      <td   height="30"   bgcolor="#E1EBF4">    
                          <table   width="99%"   height="21"   border="0"   align="center"   cellpadding="0"   cellspacing="0">  
                              <tr>    
                                  <td   width="10%"   height="21"><font   size="2"   face="宋体">费用</font></td>  
                                  <td   width="22%"><table   width="69%"   height="18"   border="0"   cellpadding="0"   cellspacing="0">  
                                          <tr>    
                                              <td><font   size="2"   face="宋体"/><input   type="text"   name="NUMBER"   /></td>  
                                          </tr>  
                                      </table></td>  
                                  <td   width="32%"><table   width="99%"   height="18"   border="0"   cellpadding="0"   cellspacing="0">  
                                          <tr>    
                                              <td   width="57%"><table   width="20%"   border="0"   cellspacing="0"   cellpadding="0">  
                                                      <tr>    
                                                          <td><input   type="submit"   name="Submit"   value="查询"   style="width:60"/></td>  
                                                      </tr>  
                                                  </table></td>  
                                          </tr>  
                                      </table></td>  
                              </tr>  
                          </table></td>  
                  </tr>  
                  <tr>    
                          <td   height="92">    
                              <hr   align="center"   size="1"/>    
                          <table   width="58%"   border="0"   align="left"   cellpadding="0"   cellspacing="2">  
                                  <tr   bgcolor="#C9D7E9">    
                                      <td   width="194"><div   align="center"><font   size="2"   face="宋体">费用1</font></div></td>  
                                      <td   width="226"   height="16"><div   align="left"></div>  
                                          <div   align="center"><font   size="2"   face="宋体">费用2</font></div></td>  
                                  </tr>  
                                  <xsl:for-each   select="CODE/DATASET/DATA/ROW">    
                                  <tr>    
                                      <td   width="194"   bgcolor="#F5F5F5"   align="center"><font   size="2"   face="宋体"><xsl:value-of   select="@FEE1"/></font></td>  
                                      <td   width="226"   height="16"   bgcolor="#F5F5F5"   align="center"><font   size="2"   face="宋体"><xsl:value-of   select="@FEE2"/></font></td>  
                                  </tr>  
                                  </xsl:for-each>    
                                  <tr>    
                                      <td   bgcolor="#F5F5F5"><font   size="2"   face="宋体">费用为1的记录条数:</font></td>  
                                      <td   height="16"   bgcolor="#F5F5F5"><font   size="2"   face="宋体">费用为1的费用2的合计:</font></td>  
                                  </tr>  
                                  <tr>  
                                      <td   bgcolor="#F5F5F5"><font   size="2"   face="宋体">费用为2的记录条数:</font></td>  
                                      <td   height="16"   bgcolor="#F5F5F5"><font   size="2"   face="宋体">费用为2的费用2的合计:</font></td>  
                                  </tr>  
                              </table></td>  
                  </tr>  
                  <tr>    
                      <td   height="380"></td>  
                  </tr>  
              </table></td>  
        </tr>  
  </table>  
    </form></xsl:template>  
  </xsl:stylesheet>  
   
  费用2处的数据为小数点后保留两位的格式,合计出的数据也要小数点后保留两位,这个怎么做?还有就是当费用1为1时,显示为现金,费用1为2时,显示为信用卡,即费用1得多行数据显示为现金或信用卡,而不是1或2,但是取得费用1的原始数据为1或2,要将1或2显示为现金或信用卡;  
  还请ssm1226(雨中人)帮我看看,多谢了! 问题点数:50、回复次数:1Top

1 楼ssm1226(雨中人(虚心学习))回复于 2003-04-02 14:50:31 得分 50

<xsl:script   language="javascript"   >  
  <![CDATA[  
  function   sum(node,fee1){  
  var   nodes=node.selectNodes("//ROW[@FEE1='"+fee1+"']");  
  var   num=0;  
  for(var   i=0;i<nodes.length;i++){  
  num+=parseFloat(nodes(i).getAttribute("FEE2"));  
  }  
  num=num.toFixed(2);  
  return   num.toString();  
  }  
  function   count(node,fee1){  
  var   num=node.selectNodes("//ROW[@FEE1='"+fee1+"']").length;  
  return   num.toString();  
  }  
  ]]>  
  </xsl:script>  
   
   
  ---------------------------------------------------------------------------------  
  <table   width="58%"   border="0"   align="left"   cellpadding="0"   cellspacing="2">  
                                  <tr   bgcolor="#C9D7E9">    
                                      <td   width="194"><div   align="center"><font   size="2"   face="宋体">费用1</font></div></td>  
                                      <td   width="226"   height="16"><div   align="left"></div>  
                                          <div   align="center"><font   size="2"   face="宋体">费用2</font></div></td>  
                                  </tr>  
                                  <xsl:for-each   select="CODE/DATASET/DATA/ROW">    
                                  <tr>    
                                      <td   width="194"   bgcolor="#F5F5F5"   align="center"><font   size="2"   face="宋体">  
                                      <xsl:choose>  
  <xsl:when   test="@FEE1[value()='1']">现金</xsl:when>  
  <xsl:otherwise>信用卡</xsl:otherwise>  
  </xsl:choose>  
                                      </font></td>  
                                      <td   width="226"   height="16"   bgcolor="#F5F5F5"   align="center"><font   size="2"   face="宋体"><xsl:value-of   select="@FEE2"/></font></td>  
                                  </tr>  
                                  </xsl:for-each>    
                                  <tr>    
                                      <td   bgcolor="#F5F5F5"><font   size="2"   face="宋体">费用为1的记录条数:<xsl:eval>count(this,1)</xsl:eval></font></td>  
                                      <td   height="16"   bgcolor="#F5F5F5"><font   size="2"   face="宋体">费用为1的费用2的合计:<xsl:eval>sum(this,1)</xsl:eval></font></td>  
                                  </tr>  
                                  <tr>  
                                      <td   bgcolor="#F5F5F5"><font   size="2"   face="宋体">费用为2的记录条数:<xsl:eval>count(this,2)</xsl:eval></font></td>  
                                      <td   height="16"   bgcolor="#F5F5F5"><font   size="2"   face="宋体">费用为2的费用2的合计:<xsl:eval>sum(this,2)</xsl:eval></font></td>  
                                  </tr>  
                              </table>Top

相关问题

  • chert中统计显示的问题
  • 查询统计与表格显示
  • qrexpr的显示不了统计数据
  • 在asp中显示统计图表
  • 如何用Jbuilder9显示统计图
  • 纵向显示后如何统计
  • 100分,数据统计显示问题?
  • datagrid 的footer显示列统计?
  • 怎样显示/动态生成统计图片
  • 如何统计纪录数,并显示出来?

关键词

得分解答快速导航

  • 帖主:lanshantutu
  • ssm1226

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo