在Visual Studio 2012中,当我使用内置的XML调试器运行XML转换时,它会将注释打印到输出中。但是当我从我的C#代码运行转换时,它根本不会打印注释。疯狂让我这样。
<xsl:comment>hi there</xsl:comment>
XslCompiledTransform xslt = new XslCompiledTransform(true);
xslt.Load(xsltFile.FullName);
using (StreamWriter sw = new StreamWriter(tempFile.FullName))
{
xslt.Transform(inputFile.FullName, xsltArgs, sw);
}
答案 0 :(得分:0)
您需要订阅XsltMessageEncountered
类型的XsltArgumentList
活动。
而不是使用xsl:comment
标记,而是使用xsl:message
标记。
xsltArgs.XsltMessageEncountered += (o,e) => { Console.WriteLine(e); };
XslCompiledTransform xslt = new XslCompiledTransform(true);
xslt.Load(xsltFile.FullName);
using (StreamWriter sw = new StreamWriter(tempFile.FullName))
{
xslt.Transform(inputFile.FullName, xsltArgs, sw);
}