using System; using System.IO; using System.Xml; using System.Xml.Xsl; using System.Data.SqlTypes; public class XSLTTransform { /// /// Performs XSLT transforms on XML data stored in SQL Server 2005 /// public static SqlXml Transform(SqlXml inputDataXML, SqlXml inputTransformXML) { MemoryStream memoryXml = new System.IO.MemoryStream(); XslCompiledTransform xslt = new XslCompiledTransform(); XmlReader output = null; xslt.Load(inputTransformXML.CreateReader()); // Output the newly constructed XML XmlTextWriter outputWriter = new XmlTextWriter(memoryXml, System.Text.Encoding.Default); xslt.Transform(inputDataXML.CreateReader(), null, outputWriter, null); memoryXml.Seek(0, System.IO.SeekOrigin.Begin); output = new XmlTextReader(memoryXml); return new SqlXml(output); } }