0
    <students>
    <student student-name="Leo">
    <program> BIT </program> 
    <study-model> on-campus </study-model>
    </student>
    <student student-name="Dan">
    <program> MIT </program> 
    <study-model> off-campus </study-model>
    </student>
    </students>

谁能帮我 ?我仍然是 XML 的新手 - XSLT .. 我正在尝试为上面的 XML 数据开发 XSTL

就像我只想选择学生姓名 Dan 一样,包括他的程序和学习模型,用于 XML 的输出。

我应该使用什么代码从 XML 中选择属性?

输出示例如下:

与数据略有不同(使用学生姓名而不是学号等)

4

1 回答 1

0

您可以执行以下操作:

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" encoding="utf-8" indent="yes" />

    <xsl:template match="students">
        <table>
        <xsl:apply-templates select="student" />
        </table>
    </xsl:template>

    <xsl:template match="student">
        <tr>
                    <td>
                Student Name: <xsl:value-of select="@student-name" />
            </td>

            <xsl:apply-templates />
        </tr>
    </xsl:template>

    <xsl:template match="*">
        <td>
            <xsl:value-of select="name(.)" />: <xsl:value-of select="." />
        </td>
    </xsl:template>

</xsl:stylesheet>

这将输出:

<table>
<tr>
<td>
                Student Name: Leo</td>
    <td>program:  BIT </td> 
    <td>study-model:  on-campus </td>

</tr>
<tr>
<td>
                Student Name: Dan</td>
    <td>program:  MIT </td> 
    <td>study-model:  off-campus </td>

</tr>
</table>

您可以通过将类添加到 xsl 中的 td,然后添加 css 来设置此表的样式。

于 2013-08-21T20:41:54.587 回答