如何使用XSLT在TD标签中显示CDATA内容

时间:2016-07-13 19:32:42

标签: html xml xslt html-table

我在CDATA标签中有一些XML格式的文本。 XSLT将此数据放在列属性名称和列表中。属性值。属性值具有CDATA标记,但是当它添加到表时,它不显示格式化文本。相反,它显示“< p>< strong>< span style =”颜色:#FF8C00;“>此需求的测试数据; / span>< / strong>< / p>”  它应该显示如下

Actual Output should be like this

有人可以帮我解决问题吗?

1 个答案:

答案 0 :(得分:1)

CDATA标记告诉XML解析器不要解析内容。因此,如果您想要解析它,您需要从CDATA部分提取它并将其提交给第二次解析运行。使用现代XSLT处理器,您可以使用诸如parse-xml()之类的函数调用来执行此操作,但对于较旧的处理器,您将需要调用扩展函数。

如果您只是想简单地将CDATA部分的内容复制到序列化输出,而不进行修改并且没有转义标记,那么您可以使用<xsl:value-of select="..." disable-output-escaping="yes"/>。但是,这仅在将转换输出发送到序列化程序时才有效:例如,某些浏览器不是这种情况。