XSL can be transformed programmatically as follows.
XPathDocument xmlDoc = new XPathDocument(Server.MapPath("/Menu.xml"));
XslTransform xslt = new XslTransform();
xslt.Load(Server.MapPath("/Menu.xslt"));
Stream str = new MemoryStream();
XsltArgumentList arguments = new XsltArgumentList();
xslt.Transform(xmlDoc, arguments, str, null);
str.Flush();
str.Position = 0;
using (StreamReader sr = new StreamReader(str))
{
string html = sr.ReadToEnd();
sr.Close();
return html;
}