To XSL transform a XDocument in C# and VB.NET you can use the snippet below.
A more complex example which also works with custom namespaces can be found HERE.
Sample C#
public XDocument TransformXDocument(XDocument inputXml, string xslFile)
{
try
{
var xslt = new XslCompiledTransform();
var sb = new StringBuilder();
using (var writer = XmlWriter.Create(sb))
{
xslt.Load(xslFile);
xslt.Transform(inputXml.CreateReader(ReaderOptions.None), writer);
writer.Close();
writer.Flush();
}
return XDocument.Parse(sb.ToString());
}
catch (Exception ex)
{
//handle the exception your way
return new XDocument();
}
}
Sample VB.NET
Public Function TransformXDocument(inputXml As XDocument, xslFile As String) As XDocument Try Dim xslt = New XslCompiledTransform() Dim sb = New StringBuilder() Using writer = XmlWriter.Create(sb) xslt.Load(xslFile) xslt.Transform(inputXml.CreateReader(ReaderOptions.None), writer) writer.Close() writer.Flush() End Using Return XDocument.Parse(sb.ToString()) Catch ex As Exception 'handle the exception your way Return New XDocument() End Try End Function
RT @CodeSnippetsNET: How to XSL transform a XDocument in .NET http://t.co/GNU93X8Jj9 #csharp #vb #dotnet #coding #code