Simplest way to transform XML to HTML with XSLT in C#?

c#, xslt

Solution

How about:

public static string TransformXMLToHTML(string inputXml, string xsltString)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using(XmlReader reader = XmlReader.Create(new StringReader(xsltString))) {
        transform.Load(reader);
    }
    StringWriter results = new StringWriter();
    using(XmlReader reader = XmlReader.Create(new StringReader(inputXml))) {
        transform.Transform(reader, null, results);
    }
    return results.ToString();
}

Note that ideally you would cache and re-use the `XslCompiledTransform` - or perhaps use `XslTransform` instead (it is marked as deprecated, though).

Problem

XSLT newbie question: Please fill in the blank in the C# code fragment below: ``` public static string TransformXMLToHTML(string inputXml, string xsltString) { // insert code here to apply the transform specified by xsltString to inputXml // and return the resultant HTML string. // You may assume that the xslt output type is HTML. } ``` Thanks!

Original source