using System; using System.Xml.Xsl; namespace Magci.Test.XML.TestXsl { class Program { static void Main( string [] args) { XslCompiledTransform trans = new XslCompiledTransform(); trans.Load( @" ..\..\books.xsl " ); trans.Transform( @" ..\..\books.xml " , " out.html " ); } } }
books.xml:
<? xml version="1.0" encoding="utf-8" ?> < bookstore > < book genre ="autobiography" publicationdate ="1991" ISBN ="1-861003-11-0" > < title > The Autobiography of Benjamin Franklin </ title > < author > < first-name > Benjamin </ first-name > < last-name > Franklin </ last-name > </ author > < price > 8.99 </ price > </ book > < book genre ="novel" publicationdate ="1967" ISBN ="0-201-63361-2" > < title > The Confidence Man </ title > < author > < first-name > Herman </ first-name > < last-name > Melville </ last-name > </ author > < price > 11.99 </ price > </ book > < book genre ="philosophy" publicationdate ="1991" ISBN ="1-861001-57-6" > < title > The Gorgias </ title > < author > < name > Plato </ name > </ author > < price > 9.99 </ price > </ book > </ bookstore >
books.xsl:
< xsl:stylesheet version ="1.0" xmlns:xsl ="http://www.w3.org/1999/XSL/Transform" > < xsl:template match ="/" > < HTML > < head > < title > Price List </ title > </ head > < body > < table > < xsl:apply-templates /> </ table > </ body > </ HTML > </ xsl:template > < xsl:template match ="bookstore" > < xsl:apply-templates select ="book" /> </ xsl:template > < xsl:template match ="book" > < tr > < td > < xsl:value-of select ="title" /> </ td > < td > < xsl:value-of select ="price" /> </ td > </ tr > </ xsl:template > </ xsl:stylesheet >
out.html:
< HTML > < head > < META http-equiv ="Content-Type" content ="text/html; charset=utf-8" > < title > Price List </ title > </ head > < body > < table > < tr > < td > The Autobiography of Benjamin Franklin </ td > < td > 8.99 </ td > </ tr > < tr > < td > The Confidence Man </ td > < td > 11.99 </ td > </ tr > < tr > < td > The Gorgias </ td > < td > 9.99 </ td > </ tr > </ table > </ body > </ HTML >