一个XML数据统计问题,期待大家的讨论
2007-01-08 11:37
471 查看
想不到2007年的第一个帖子是有关问题的,呵呵。这段时间运气不是很好,可能跟本命年有关(没有穿红内裤),幸好快过完了。
在教学的时候遇到了一个XML数据统计问题,试了很多方法,还是没有搞定。想与大家一起讨论讨论。
如下一个XML文档:
<?xml version="1.0" ?>
<SUMMARY>
<PRODUCT ID="P001" NAME="Mini Bus" PRICE="75">
<ORDER ID="O001">
<SHIP_ADD>10 NEWSLAND ESTATE, NY</SHIP_ADD>
<QUANTITY>30</QUANTITY>
</ORDER>
<ORDER ID="O002">
<SHIP_ADD>11 NEWSLAND ESTATE</SHIP_ADD>
<QUANTITY>50</QUANTITY>
</ORDER>
</PRODUCT>
<PRODUCT ID="P002" NAME="Barbie Doll" PRICE="20">
<ORDER ID="O003">
<SHIP_ADD>10 LIONS STREET, BOSTON </SHIP_ADD>
<QUANTITY>10</QUANTITY>
</ORDER>
</PRODUCT>
</SUMMARY>
现在我要对这个XML文档进行一个统计操作。通过把各个产品的订单质量之和sum(QUANTITY)乘以该产品的价格(属性PRICE)可以得到该产品的销售额(<xsl:value-of select="(sum(ORDER/QUANTITY)*@PRICE)"/>),但是我需要统计该公司所有产品的总销售额。也就是说对上面各个产品的销售额再做一个求和,没有想到好的办法,希望有朋友和我一起讨论这个问题。
为了给大家节约时间,我把已经写好的部分XSL贴上来,显示的结果中我希望出现一行显示6200=(75×(30+50)+20×10),也就是所有产品销售额的总计。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<center>
<table border="10">
<tr>
<td>
Product and Order Details
</td>
</tr>
</table>
</center>
<xsl:for-each select="SUMMARY/PRODUCT">
Product ID:<xsl:value-of select="@ID"/><br/>
Product Name:<xsl:value-of select="@NAME"/><br/>
Product Price:<xsl:value-of select="@PRICE"/><br/>
<br/>
<xsl:for-each select="ORDER">
Order ID:<xsl:value-of select="@ID"/><br/>
Order Address:<xsl:value-of select="SHIP_ADD"/><br/>
Order Quantity:<xsl:value-of select="QUANTITY"/><br/>
Order Money:<xsl:value-of select="(QUANTITY*../@PRICE)"/><br/>
<hr color="green"/>
</xsl:for-each>
<br/>
Product Sales Value:
<xsl:value-of select="(sum(ORDER/QUANTITY)*@PRICE)"/>
<br/>
<hr color="red" size="5"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
在教学的时候遇到了一个XML数据统计问题,试了很多方法,还是没有搞定。想与大家一起讨论讨论。
如下一个XML文档:
<?xml version="1.0" ?>
<SUMMARY>
<PRODUCT ID="P001" NAME="Mini Bus" PRICE="75">
<ORDER ID="O001">
<SHIP_ADD>10 NEWSLAND ESTATE, NY</SHIP_ADD>
<QUANTITY>30</QUANTITY>
</ORDER>
<ORDER ID="O002">
<SHIP_ADD>11 NEWSLAND ESTATE</SHIP_ADD>
<QUANTITY>50</QUANTITY>
</ORDER>
</PRODUCT>
<PRODUCT ID="P002" NAME="Barbie Doll" PRICE="20">
<ORDER ID="O003">
<SHIP_ADD>10 LIONS STREET, BOSTON </SHIP_ADD>
<QUANTITY>10</QUANTITY>
</ORDER>
</PRODUCT>
</SUMMARY>
现在我要对这个XML文档进行一个统计操作。通过把各个产品的订单质量之和sum(QUANTITY)乘以该产品的价格(属性PRICE)可以得到该产品的销售额(<xsl:value-of select="(sum(ORDER/QUANTITY)*@PRICE)"/>),但是我需要统计该公司所有产品的总销售额。也就是说对上面各个产品的销售额再做一个求和,没有想到好的办法,希望有朋友和我一起讨论这个问题。
为了给大家节约时间,我把已经写好的部分XSL贴上来,显示的结果中我希望出现一行显示6200=(75×(30+50)+20×10),也就是所有产品销售额的总计。
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<center>
<table border="10">
<tr>
<td>
Product and Order Details
</td>
</tr>
</table>
</center>
<xsl:for-each select="SUMMARY/PRODUCT">
Product ID:<xsl:value-of select="@ID"/><br/>
Product Name:<xsl:value-of select="@NAME"/><br/>
Product Price:<xsl:value-of select="@PRICE"/><br/>
<br/>
<xsl:for-each select="ORDER">
Order ID:<xsl:value-of select="@ID"/><br/>
Order Address:<xsl:value-of select="SHIP_ADD"/><br/>
Order Quantity:<xsl:value-of select="QUANTITY"/><br/>
Order Money:<xsl:value-of select="(QUANTITY*../@PRICE)"/><br/>
<hr color="green"/>
</xsl:for-each>
<br/>
Product Sales Value:
<xsl:value-of select="(sum(ORDER/QUANTITY)*@PRICE)"/>
<br/>
<hr color="red" size="5"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
相关文章推荐
- 初学Flex,在使用Webservice时遇到Xml数据绑定的一个问题,试了N个方案,均没解决。
- 欢迎大家讨论一个关于界面显示的问题!!
- 欢迎参与讨论一个分布式数据同步的问题!
- 关于数据库的一个统计算法的优化,欢迎大家来讨论(一定要赖心看的)
- 向大家请教一个关于sharepoint2003的问题,如何使一个Custom List in Datasheet View中某个field从其他list抽取数据当显示时?
- Local Response Normalization作用——感觉LRN也是解决的梯度消失和爆炸问题,统计机器学习中的一个经典假设是“源空间(source domain)和目标空间(target domain)的数据分布(distribution)是一致的
- 一个关于WebRequest的问题,希望大家能够讨论或指导一下小弟,谢谢
- 讨论一个并发线程导致的数据保存失败的问题
- 请教大家一个问题:.net3.5的实体数据模型如何插入和编辑数据
- Jdom嵌入第三方XML数据的一个问题
- 一个关于 客户端非法取消正在进行的数据提交操作 的问题 的讨论
- 请教大家一个问题:.net3.5的实体数据模型如何插入和编辑数据
- 关于XML数据存储时遇到的字符编码的一个怪问题
- Chrome 下,重复使用 XMLHttpRequest进行Post数据时,遇到一个奇怪的问题
- 今天碰到一个强数据类型集的问题,不知道大家怎么解决呢????
- 我来提出一个问题,大家一起讨论讨论.
- 从xml文件中获取相关数据,解决xml中部分数据没有结束的问题
- 关于缓冲区的问题, 大家讨论一下.
- ComboBox 绑定到数据表中一个列的问题
- 推荐一个能下统计年鉴数据的网站