1. 程式人生 > >XML+XSL輸出HTML時,直接將XML輸出為HTML的2種方法

XML+XSL輸出HTML時,直接將XML輸出為HTML的2種方法

test.xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<root>
 <html1><div><img src="xxx.jpg"/></div><div><img src="xxx.jpg"/></div></html1>
 <html2><![CDATA[<hr/><div><img src="xxx.jpg"/></div><div><img src="xxx.jpg"/></div>]]></html2>
</root>

XSL方法 1:

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 <xsl:template match="/root">
  <xsl:copy-of select="html1/node()"/>
 </xsl:template>
</xsl:stylesheet>

XSL方法 2:

<?xml version="1.0" encoding="GB2312"?>
<xsl:stylesheet xmlns:xsl="

http://www.w3.org/1999/XSL/Transform" version="1.0">
 <xsl:template match="/root">
  <xsl:value-of select="html2" disable-output-escaping="yes"/>
 </xsl:template>
</xsl:stylesheet>

兩種方法都可以,但從應用上來說,我個人推薦第一種。因為disable-output-escaping屬性,並不是所有瀏覽器都支援,如firefox就不支援。