将XSLT与具有ID的标记一起使用

时间:2016-11-17 19:20:11

标签: xml xslt

我已经完成了一项任务,其中包括根据等级过滤名称,但标签ID一直让我失望。如果我删除有问题的ID,我可以得到理想的结果,但我认为它已被放在那里是有原因的。

我的XML是学生详细信息列表,文件扩展名为.xml

<?xml version="1.0" encoding="UTF-8"?>
<CLASS ID = "AWD">
   <STUDENT>
      <NAME>Tom</NAME>
      <AGE>19</AGE>
      <HEIGHT>1.3</HEIGHT>
      <SEX>M</SEX>
      <GRADE>B</GRADE>
   </STUDENT>
   <STUDENT>
      <NAME>Dick</NAME>
      <AGE>29</AGE>
      <HEIGHT>1.1</HEIGHT>
      <SEX>M</SEX>
      <GRADE>A</GRADE>
   </STUDENT>
   <STUDENT>
      <NAME>Harry</NAME>
      <AGE>39</AGE>
      <HEIGHT>1.5</HEIGHT>
      <SEX>M</SEX>
      <GRADE>C</GRADE>
   </STUDENT>
   <STUDENT>
      <NAME>Mary</NAME>
      <AGE>30</AGE>
      <HEIGHT>1.1</HEIGHT>
      <SEX>F</SEX>
      <GRADE>A</GRADE>
   </STUDENT>
   <STUDENT>
      <NAME>Tim</NAME>
      <AGE>23</AGE>
      <HEIGHT>1.5</HEIGHT>
      <SEX>M</SEX>
      <GRADE>A</GRADE>
   </STUDENT>
</CLASS>

我的XSLT代码(.xslt文件扩展名)是:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
        <html> 
            <body>
                <h2>Student List
                </h2>
                <table border="1">
                    <tr bgcolor="#9acd32">
                        <th style="text-align:left">Name
                        </th>
                        <th style="text-align:left">Age
                        </th>
                    </tr>
                    <xsl:for-each select="CLASS/STUDENT">
                        <tr>
                            <xsl:if test="GRADE = 'A'">
                                <td>
                                    <xsl:value-of select="NAME"/>
                                </td>
                                <td>
                                    <xsl:value-of select="AGE"/>
                                </td>
                            </xsl:if>
                        </tr>
                    </xsl:for-each>
                </table>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>

我认为问题很可能出在这一行,但我已经尝试将ID包含在代码中并且没有解决问题。

<xsl:for-each select="CLASS/STUDENT">

0 个答案:

没有答案