很抱歉,如果这是一个愚蠢的问题,但是可以在xsl 1.0变量中存储和检索HTML代码段吗? EG:
<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标签。感谢。
答案 0 :(得分:9)
您需要使用<xsl:copy-of select="$something"/>
代替xsl:value-of
。
答案 1 :(得分:3)
我将添加一些关于发生了什么的解释:)
你没有得到html标签的原因是$ something变量包含一个dom片段,而不是一个字符串:value-of元素以与字符串相同的方式提取节点的内容()函数,所以不会序列化节点。
相反,这将提供您拥有的html字符串的字符串表示形式,然后您可以使用value-of和disable-output-escaping将其打印出来:
<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&#34;结果转换为字符串,如通过调用string()函数&#34;)