Как насчет:
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();
}
Обратите внимание, что в идеале вы должны кэшировать и повторно использовать XslCompiledTransform
- или, возможно, использовать XslTransform
вместо этого (он отмечен как устаревший, хотя).