我只想确认是否可以在xsl变量中插入html标签? 示例
<xsl:variable name="htmlContent">
<html>
<body>
hiiii
</body>
</html>
</xsl:variable>
如果我使用
<xsl:value-of select="$htmlContent"/>
我应该得到
<html>
<body>
hiiii
</body>
</html>
有可能吗?我试过了
<xsl:value-of disable-output-escaping="yes" select="$htmlContent"/>
虽然我没有得到所需的输出
答案 0 :(得分:14)
请勿使用value-of
,它会获取所选节点的文本值。而是使用copy-of
将整个树(节点和所有树)复制到输出中:
<xsl:copy-of select="$htmlContent"/>
以下是一个完整的例子:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:variable name="htmlContent">
<html><body>hiiii</body></html>
</xsl:variable>
<xsl:template match="/">
<xsl:element name="htmlText">
<xsl:copy-of select="$htmlContent"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
这将始终生成xml:
<htmlText>
<html>
<body>hiiii</body>
</html>
</htmlText>