【发布时间】:2014-11-22 14:52:15
【问题描述】:
<xsl:for-each select="class/student">
ID: <xsl:value-of select="id"/><br/>
Name: <xsl:value-of select="lastName"/>,<xsl:value-of select="firstName"/><br/>
Date: <xsl:value-of select="date"/><br/>
Major: <xsl:if test="major[@Year > 2008]">
<xsl:value-of select="major"/> ,
declared in: <xsl:value-of select="major[@Year]"/>
</xsl:if><br/><br/>
</xsl:for-each>
XML 代码:
<student>
<id>1000001</id>
<lastName>john</lastName>
<firstName>Doe</firstName>
<date format="d">08/25/2006</date>
<major Year="2006">CS:BS</major>
</student>
输出:
编号:1000001 姓名:多伊,约翰 注册日期:2006 年 8 月 25 日 专业:CS:BS,申报于:CS:BS上面的 xml 代码只是实际 xml 代码的一个示例,还有更多的 'Year' 值/元素。
大家好,
我试图只获得年份大于 2008 年的专业,但由于某种原因我得到了错误的输出。
谢谢
【问题讨论】:
-
为了能够提供帮助,我们确实需要查看更多的输入 XML,以及足够的 XSLT 来重现问题(而不仅仅是一些被注释掉的 XSLT)。显示您的预期和实际输出也会有所帮助,因为说您“得到错误的输出”有点含糊。谢谢!
-
刚刚添加了更多,谢谢!
-
这样更好......虽然您的 XSLT 引用了您的
class元素,但您的 XML 中没有显示该元素。另外,输出显示的是您现在获得的实际输出,还是您的预期输出? -
我现在得到的实际输出,类只是xml文件的父节点。