嘿,我正在用Java Servlets编写一个测验应用程序。我的测验数据被写入XML文件,即:<quiz><question><ask>...</ask><answer>...</answer>...</question></quiz>
。
我想在一个页面上显示每个问题及其答案。出于这个原因,我不能简单地将XML转换为我的XSLT,因为它只显示第一个问题或所有问题。我的猜测是,我应该加载XML数据以创建我自己的Java类,即:class Question,类Quiz等,并从中生成一种XML格式,这种格式适合我的XSLT,一次只显示一个问题。
这种方法是否正确?如果是这样,这是如何实现的?
如果没有,可能是怎么做的?
答案 0 :(得分:3)
我不能简单地将XML转换为我的XSLT,因为它只显示第一个问题或所有问题。
你错了。如果使用模板和正确的XPath编写XSLT,转换可以输出一个XML文件中存在的所有问题,无论多少。
您还可以使用XPath选择特定的question
节点,具体取决于属性值(例如)。
如果您有以下模板并使用正确的XPath选择apply-templates
中的所有问题,则此模板将应用于每个问题,而不仅仅是第一个:
<xsl:template match="question">
</xsl:template>