在浏览器中把 XML 转换为 XHTML

将xml转换为XHTML需要三步:

源xml文件

xsl文件

转换文件

例子:

<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- Edited with XML Spy v2007 (http://www.altova.com) -->

<catalog><cd><artist>Bob Dylan</artist><country>USA</country><company>Columbia</company><price>10.90</price><year>1985</year></cd><cd><artist>Bonnie Tyler</artist><country>UK</country><company>CBS Records</company><price>9.90</price><year>1988</year></cd><cd><artist>Dolly Parton</artist><country>USA</country><company>RCA</company><price>9.90</price><year>1982</year></cd><cd><artist>Gary Moore</artist><country>UK</country><company>Virgin records</company><price>10.20</price><year>1990</year></cd><cd><artist>Eros Ramazzotti</artist><country>EU</country><company>BMG</company><price>9.90</price><year>1997</year></cd><cd><artist>Bee Gees</artist><country>UK</country><company>Polydor</company><price>10.90</price><year>1998</year></cd><cd><artist>Dr.Hook</artist><country>UK</country><company>CBS</company><price>8.10</price><year>1973</year></cd><cd><artist>Rod Stewart</artist><country>UK</country><company>Pickwick</company><price>8.50</price><year>1990</year></cd><cd><artist>Andrea Bocelli</artist><country>EU</country><company>Polydor</company><price>10.80</price><year>1996</year></cd><cd><artist>Percy Sledge</artist><country>USA</country><company>Atlantic</company><price>8.70</price><year>1987</year></cd><cd><artist>Savage Rose</artist><country>EU</country><company>Mega</company><price>10.90</price><year>1995</year></cd><cd><artist>Many</artist><country>USA</country><company>Grammy</company><price>10.20</price><year>1999</year></cd><cd><artist>Kenny Rogers</artist><country>UK</country><company>Mucik Master</company><price>8.70</price><year>1995</year></cd><cd><artist>Will Smith</artist><country>USA</country><company>Columbia</company><price>9.90</price><year>1997</year></cd><cd><artist>Van Morrison</artist><country>UK</country><company>Polydor</company><price>8.20</price><year>1971</year></cd><cd><artist>Jorn Hoel</artist><country>Norway</country><company>WEA</company><price>7.90</price><year>1996</year></cd><cd><artist>Cat Stevens</artist><country>UK</country><company>Island</company><price>8.90</price><year>1990</year></cd><cd><artist>Sam Brown</artist><country>UK</country><company>A and M</company><price>8.90</price><year>1988</year></cd><cd><artist>T`Pau</artist><country>UK</country><company>Siren</company><price>7.90</price><year>1987</year></cd><cd><artist>Tina Turner</artist><country>UK</country><company>Capitol</company><price>8.90</price><year>1983</year></cd><cd><artist>Kim Larsen</artist><country>EU</country><company>Medley</company><price>7.80</price><year>1983</year></cd><cd><artist>Luciano Pavarotti</artist><country>UK</country><company>DECCA</company><price>9.90</price><year>1991</year></cd><cd><artist>Otis Redding</artist><country>USA</country><company>Atlantic</company><price>7.90</price><year>1987</year></cd><cd><artist>Simply Red</artist><country>EU</country><company>Elektra</company><price>7.20</price><year>1985</year></cd><cd><artist>The Communards</artist><country>UK</country><company>London</company><price>7.80</price><year>1987</year></cd><cd><artist>Joe Cocker</artist><country>USA</country><company>EMI</company><price>8.20</price><year>1987</year></cd></catalog>

 

<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- Edited with XML Spy v2007 (http://www.altova.com) -->

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output version="1.0" indent="yes" encoding="UTF-8" method="html"/><xsl:template match="/"><html><body>

<h2>My CD Collection</h2>

<table border="1">

<tr bgcolor="#9acd32">
<th align="left">Title</th>
<th align="left">Artist</th>
</tr>

<xsl:for-each select="catalog/cd">

<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>

</xsl:for-each></table></body></html></xsl:template></xsl:stylesheet>

 

<html>

<body>

<script type="text/javascript">

// Load XML

var xml = new ActiveXObject("Microsoft.XMLDOM")

xml.async = false xml.load("cdcatalog.xml")

// Load XSL

var xsl = new ActiveXObject("Microsoft.XMLDOM")

xsl.async = false xsl.load("cdcatalog.xsl")

// Transform document.write(xml.transformNode(xsl))

</script>

</body>

</html>

posted @ 2011-11-24 10:33  Chaoswoo  阅读(443)  评论(0编辑  收藏  举报