问题描述
|
我正在尝试使用相应的XSLT样式表创建XML文件。一切正常,但是...
...我正在输出的节点内部包含XHTML文本,如下所示:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<root>
<snippet id=\"user_surname\">
<content>
<h1>Some title here</h1>
<p>Blah blah blah...</p>
</content>
</snippet>
...
</root>
这是相应的XSLT样式表:
<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>
<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">
<xsl:template match=\"/\">
<html>
<body>
<xsl:for-each select=\"root/snippet\">
<div>
<xsl:value-of select=\"content\" disable-output-escaping=\"yes\" />
</div>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我遇到的问题是,h1和p标签没有打印为h1和p标签,而是打印为没有标签的纯文本。
如何获得XSLT样式表以按原样打印这些标签?我尝试用CDATA标记包装,但似乎无济于事。
提前致谢!
解决方法
尝试使用
xsl:copy-of
代替xsl:value-of
。那应该给你节点而不是文本节点。