XSLT value-of仅返回文本

时间:2011-08-18 13:58:50

标签: c# xslt

我正在使用XSLT从XML显示节点。此节点包含HTML无序列表,如下所示:

<ul><li>one</li><li>two</li></ul>

<xsl:value-of select="root/node1" disable-output-escaping="yes" />仅返回onetwo

我知道我需要使用disable-output-escaping="yes"但这没有任何作用。

我希望输出与节点中的输出相同,如下所示: <ul><li>one</li><li>two</li></ul>

2 个答案:

答案 0 :(得分:3)

我认为你想改用<xsl:copy-of>

答案 1 :(得分:1)

xsl:value-of用于通过评估所选节点的字符串值来创建文本节点。

您需要使用xsl:copy-of

http://www.w3.org/TR/xslt#value-of

  

xsl:value-of元素被实例化以创建文本节点   在结果树中。所需的select属性是一个表达式;   计算此表达式并转换生成的对象   通过调用string函数就像一个字符串。字符串   指定创建的文本节点的字符串值。如果字符串是   为空,不会创建任何文本节点。创建的文本节点将是   与任何相邻的文本节点合并。

     

xsl:copy-of元素可用于将节点集复制到   结果树没有将其转换为字符串。见[11.3 Using Values of Variables and Parameters with xsl:copy-of]。