在xsl变量中存储html标记



如果这是一个愚蠢的问题,很抱歉,但可以在xsl 1.0变量中存储和检索HTML片段?例如:

<xsl:variable name="something"><p>Hi there</p><p>How are you today?</p></xsl:variable>
<xsl:value-of disable-output-escaping="yes" select="$something"/>

就在我尝试的时候,它似乎去掉了HTML标记。谢谢

您需要使用<xsl:copy-of select="$something"/>而不是xsl:value-of

我将添加一些对发生的事情的解释:)

您没有得到html标记的原因是$something变量包含一个dom片段,而不是字符串:element的值以与string()函数相同的方式提取节点的内容,因此不会序列化节点。

相反,这将提供您所拥有的html字符串的字符串表示,然后您可以用值打印出来并禁用输出转义:

<xsl:variable name="something"><![CDATA[<p>Hi there</p><p>How are you today?</p>]]></xsl:variable>

(参见https://msdn.microsoft.com/en-us/library/ms256181(v=vs.110).aspx"结果被转换为字符串,就像调用string()函数一样")

相关内容

  • 没有找到相关文章

最新更新