Mega Code Archive

 
Categories / C# / XML LINQ
 

Use hard coded xsl to convert xml document

using System; using System.IO; using System.Xml; using System.Xml.Xsl; using System.Xml.Linq; using System.Collections; using System.Collections.Generic; public class MainClass {     public static void Main()     {         string xslMarkup = @"<?xml version='1.0'?>         <xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0'>             <xsl:template match='/Parent'>                 <Root>                     <C1>                     <xsl:value-of select='A1'/>                     </C1>                 </Root>             </xsl:template>         </xsl:stylesheet>";         XDocument xmlTree = new XDocument(             new XElement("Parent",                 new XElement("A1", "A1 data"),                 new XElement("A2", "A2 data")             )         );         XDocument newTree = new XDocument();         using (XmlWriter writer = newTree.CreateWriter())         {             XslCompiledTransform xslt = new XslCompiledTransform();             xslt.Load(XmlReader.Create(new StringReader(xslMarkup)));             xslt.Transform(xmlTree.CreateReader(), writer);         }         Console.WriteLine(newTree);     } }