1

我今天第一次处理 xsl。我拥有的 XML 文件如下所示:

<student_course>
<students>
    <student num="">
    <name gender=""></name>
    <course cid="1"></course>
    <course cid="2"></course>
    <course cid="3"></course>
    <course cid="4"></course>
    <comments></comments>
    </student>  
</students>
<courses>
    <course cid="1"></course>
    <course cid="2"></course>
    <course cid="3"></course>
    <course cid="4"></course>
</courses>
</student_course>

有10多个学生,我需要为每个学生打印出每门课程的所有成绩。我已经使用 for-each 完成了。我需要做的是在列的底部,显示该课程的平均成绩(学生/课程)一些东西,但这似乎不起作用,每次我尝试创建一个变量时,我只能在设置后立即调用它,我一定是做错了什么。我如何获得下所有值的平均值student_courses/students/student/course[@cid]

目前我让我的 xsl 显示一个包含 4 列和 11 行的表格(1 行用于标题,10 行用于学生成绩),然后在第 12 行显示平均值。

先谢谢了!

4

1 回答 1

3

我想到了。要获得平均值,最简单的方法是使用 for-each 以及 sum() 和 count() 函数。我所需要的只是将它添加到我希望显示平均值的地方:

<xsl:value-of select="sum(/student_course/students/student/course[@cid='1']) div count(/student_course/students/student/course[@cid='1'])"/>

只需更改不同课程的 cid 值。

于 2013-04-25T19:34:35.950 回答