我们可以在XSL变量中插入HTML标记吗
我只是想确认是否可以在xsl变量中插入html标记? 范例我们可以在XSL变量中插入HTML标记吗,html,xml,xslt,xsl-variable,Html,Xml,Xslt,Xsl Variable,我只是想确认是否可以在xsl变量中插入html标记? 范例 hiiii 如果我使用 <xsl:value-of select="$htmlContent"/> 我应该 <html> <body> hiiii </body> </html> hiiii 可能吗?我试过了 <xsl:value-of disable-output-escaping="yes" select="$htmlContent"/>
hiiii
如果我使用
<xsl:value-of select="$htmlContent"/>
我应该
<html>
<body>
hiiii
</body>
</html>
hiiii
可能吗?我试过了
<xsl:value-of disable-output-escaping="yes" select="$htmlContent"/>
即使我没有获得所需的输出也不要使用的
值,它会获取所选节点的文本值。而是使用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>
hiiii
这将始终生成xml:
<htmlText>
<html>
<body>hiiii</body>
</html>
</htmlText>
hiiii
它应该可以工作。你得到了什么输出?嗨,我检索到了名为htmlText的元素中的值。我得到了这样的结果,我认为你没有向我们展示所有内容。你会从哪里来?我是这样写的,我应该知道你显示的代码没有包含。请发布一个小但完整的示例,让我们重现这个问题。感谢您的快速响应,我使用了副本,然后它将html标记元素化并打印内容。((您可能还需要使用exslt/msxsl node-set())告诉解析器该变量是一个结果树片段。是否可以编写示例代码来添加该节点集(),我不是xslt方面的专家:P@nonnb,因为他没有对变量执行任何节点操作,所以他不需要节点集,结果树片段也可以。@SrivatsavaSesham,我添加了一个完整的、经过测试的示例。这应该对您有用。(确保您正在查看转换的原始输出,而不是让浏览器对其进行解释。)
<htmlText>
<html>
<body>hiiii</body>
</html>
</htmlText>