【问题标题】:How to acces to a xml content through xsl如何通过 xsl 访问 xml 内容
【发布时间】:2017-11-04 18:16:11
【问题描述】:

您好,我正在尝试通过 xsl 存档转换 xml 存档,我想要创建一个显示 xml 内容的表格,但我无法显示名为“complexity”的两列的值和“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>

表格中显示了除这两个列之外的所有内容。谢谢

【问题讨论】:

  • 请将您的问题翻译成英文。

标签: html xml xslt


【解决方案1】:

在您的示例中,复杂性和主题是 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>

【讨论】:

  • 非常感谢!我以为我试过了,但好像我没有,所以现在可以了,谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-02
  • 1970-01-01
  • 2011-01-16
  • 2014-04-22
  • 2016-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多