using System; using System.Xml; using System.Xml.Xsl; using System.Xml.XPath; using System.IO; public class XSLDemo { [STAThread] static void Main(string[] args) { XslTransform xslt = new XslTransform(); xslt.Load("XSLTemplate.xsl"); XPathDocument xDoc = new XPathDocument("Books.xml"); XmlTextWriter writer = new XmlTextWriter("Books.html", null); xslt.Transform(xDoc, null, writer, new XmlUrlResolver()); writer.Close(); StreamReader stream = new StreamReader("Books.html"); Console.Write(stream.ReadToEnd()); } } /* <books> <book category="A"> <title>title</title> <author>Tom</author> <price>19.95</price> </book> <book category="B"> <title>title 2</title> <author>Jack</author> <price>9.95</price> </book> </books> */ /* <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match = "/" > <html> <head><title>A list of books</title></head> <style> .headerClass { background-color=#ffeedd; } </style> <body> <B>List of books</B> <table border="1"> <tr> <td class="headerClass">Title</td> <td class="headerClass">Author</td> <td class="headerClass">Price</td> </tr> <xsl:for-each select="//books/book"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="author"/></td> <td><xsl:value-of select="price"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> */