用XSLT格式化的XML格式的XHTML文本

问题描述

| 我正在尝试使用相应的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
。那应该给你节点而不是文本节点。