我正在使用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>
答案 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]。