您好我正在尝试通过xsl存档转换xml存档,我想要的是创建一个显示xml内容的表,但我无法显示两列名为“复杂性”的值和“subjet”,我的xml代码是这样的:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="../xsl/showQue``stions.xsl"?>
<assessmentItems>
<assessmentItem complexity="3" subject="mikologia">
<itemBody>
<p>Zein Amanita da jangarria?</p>
</itemBody>
<correctResponse>
<value>Caesarea</value>
</correctResponse>
<incorrectResponses>
<value>Phalloides</value>
<value>Muscaria</value>
<value>Virosa</value>
</incorrectResponses>
</assessmentItem>
<assessmentItem complexity="3" subject="mikologia">
<itemBody>
<p>Tripakiek zer dute kapela azpian?</p>
</itemBody>
<correctResponse>
<value>Eztenak</value>
</correctResponse>
<incorrectResponses>
<value>Filamenduak</value>
<value>Himenioa</value>
<value>Hodiak</value>
</incorrectResponses>
</assessmentItem>
<assessmentItem complexity="5" subject="mikologia">
<itemBody>
<p>Eranztuna du</p>
</itemBody>
<correctResponse>
<value>Galanpernak</value>
</correctResponse>
<incorrectResponses>
<value>Gibel urdinak</value>
<value>Esnegorriak</value>
<value>Errotariak</value>
</incorrectResponses>
</assessmentItem>
</assessmentItems>
这是我的xsl:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<HTML>
<BODY>
<h2>Galderak</h2>
<TABLE border="1">
<TR>
<TH>Testua</TH>
<TH>Erantzun zuzena</TH>
<TH>Erantzun okerrak</TH>
<TH>Zailtasuna</TH>
<TH>Arloa</TH>
</TR>
<xsl:for-each select="/assessmentItems/assessmentItem" >
<TR>
<TD><FONT SIZE="2" COLOR="red" FACE="Verdana">
<xsl:value-of select="itemBody/p"/> <BR/>
</FONT>
</TD>
<TD><FONT SIZE="2" COLOR="orange" FACE="Verdana">
<xsl:value-of select="correctResponse"/> <BR/>
</FONT>
</TD>
<TD>
<FONT SIZE="2" COLOR="pink" FACE="Verdana">
<xsl:value-of select="incorrectResponses/value[1]"/><BR/>
<xsl:value-of select="incorrectResponses/value[2]"/> <BR/>
<xsl:value-of select="incorrectResponses/value[3]"/> <BR/>
</FONT>
</TD>
<TD><FONT SIZE="2" COLOR="green" FACE="Verdana">
<xsl:value-of select="complexity"/> <BR/>
</FONT>
</TD>
<TD><FONT SIZE="2" COLOR="blue" FACE="Verdana">
<xsl:atribute select="subject"/> <BR/>
</FONT>
</TD>
</TR>
</xsl:for-each>
</TABLE>
</BODY>
</HTML></xsl:template>
</xsl:stylesheet>
在表格中显示除了这两个列之外的所有内容。谢谢
答案 0 :(得分:0)
在您的示例中,复杂性和主题是XML属性,您需要一些不同的XPath语法来引用,例如:
<xsl:value-of select="path/to/element/@attribute1" />
注意'@' - 符号。
因此,您的特定列需要定义为:
<TD>
<FONT SIZE="2" COLOR="green" FACE="Verdana">
<xsl:value-of select="@complexity"/>
<BR/>
</FONT>
</TD>
<TD>
<FONT SIZE="2" COLOR="blue" FACE="Verdana">
<xsl:value-of select="@subject"/>
<BR/>
</FONT>
</TD>