使用XSL将XML值输出到CSS中的错误

时间:2016-07-15 02:43:41

标签: html css xml xslt xpath

尝试从<colors>获取所有example.xml值,然后将其输出到example.xsl,但在将结果输出到我的网站时遇到问题。

下面是我正在使用的文件的抽象...

的example.xml

<plant id="1">
    <colors>
       <green>#00FF00</green>
       <red>#FF0000</red>
       <blue>#0000FF</blue>
    </colors>
</plant>

example.xsl

<xsl:for-each select="colors/*">
    <span class="colors" style="background-color:{colors/*};"></span>
</xsl:for-each>

我在两个{}括号中遇到style="background-color:{colors/*};"错误。

因此,如何将<colors>下所有元素的颜色值输出到CSS

2 个答案:

答案 0 :(得分:0)

实际上,你应该这样:

<span class="colors" style="background-color:{.};"></span>

答案 1 :(得分:0)

您已经在colors/*循环中选择了for-each元素,因此循环内的上下文元素只是.

尝试:

<xsl:for-each select="colors/*">
    <span class="colors" style="background-color:{.};"></span>
</xsl:for-each>

或者更确切地说:

<xsl:for-each select="colors/*">
    <span class="colors" style="background-color:{./text()};"></span>
</xsl:for-each>