欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用XSL将XML文档中的CDATA注释输出为HTML文本

程序员文章站 2022-06-19 13:38:37
示例代码 1.   test.xml 复制代码 代码如下:
示例代码
1.   test.xml
复制代码 代码如下:

<?xml version="1.0" encoding="gb2312"?>
<?xml-stylesheet href="test.xsl" type="text/xsl"?>
<entry>
 <title>entry with images</title>
 <date>august 09, 2003</date>
 <author>kevin</author>
 <idnum>000033</idnum>
 <permalink>http://alazanto.org/xml/archives/000033.xml</permalink>
 <body xmlns:html="http://www.w3.org/1999/xhtml"><![cdata[<p><img
  class="archive" align="right" src="http://alazanto.org/images/sample.jpg"
  alt="photograph of a flower, just for show"/>mauris felis elit, varius
  quis, pulvinar vel, sodales vehicula, mi. nunc elementum pharetra elit.
  </p>]]>
 </body>
 <more xmlns:html="http://www.w3.org/1999/xhtml"><![cdata[]]></more>
 <comment-link>http://alazanto.org/xml/archives/000033_comments.xml</comment-link>
 <comment-count>6</comment-count>
</entry>

2.  test.xsl
复制代码 代码如下:

<?xml version="1.0"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0">
<xsl:template match="/entry"> 
<html> 
<head> 
</head> 
<body> 
<xsl:value-of select="title" /> 
<xsl:value-of select="body" disable-output-escaping="yes"/> 

</body> 
</html> 
</xsl:template> 
</xsl:stylesheet>


关键之外在于使用的命名空间xmlns:xsl="http://www.w3.org/1999/xsl/transform" 和输出时加上disable-output-escaping="yes"