私は同じ問題を抱えています。問題は、html を台無しにするだけの XmlTextWriter です。次のコードを試してください。
public static string Transform(string xmlPath, string xslPath, XsltArgumentList xsltArgumentList)
{
string rc = null;
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
XPathDocument myXPathDoc = new XPathDocument(xmlPath);
XslCompiledTransform myXslTrans = new XslCompiledTransform();
myXslTrans.Load(xslPath, new XsltSettings(true, true), null);
myXslTrans.Transform(myXPathDoc, xsltArgumentList, ms);
ms.Position = 0;
using (System.IO.TextReader reader = new System.IO.StreamReader(ms, Encoding.UTF8))
{
rc = reader.ReadToEnd();
}
}
return rc;
}
XsltArgumentList を使用して情報を xslt に渡します。xslt に引数を渡す必要がない場合は、次のようにメソッドを呼び出すことができます。
string myHtml = Transform(myXmlPath, myXslPath, new XsltArgumentList());