System.Xml.Xsl:如何将xsl:message元素生成的输出重定向到我的跟踪侦听器?

时间:2010-01-18 19:22:28

标签: .net xslt

我知道Console.SetOut,但无法弄清楚我应该传递给这种方法。

1 个答案:

答案 0 :(得分:2)

Console.SetOut将为控制台输出设置流。 使用XsltMessageEncountered类的XsltArgumentList事件,并使用Trace.Write将消息写入Trace listenres。

void TestTransform()
{
    XsltArgumentList xsltargs = new XsltArgumentList();
    xsltargs.XsltMessageEncountered += new XsltMessageEncounteredEventHandler(OnXsltMessageEncountered);

    XslCompiledTransform transform = new XslCompiledTransform();
    //....some code to load xslt and other stuffs. Pass the xsltargs to transform
}

void OnXsltMessageEncountered(object sender, XsltMessageEncounteredEventArgs e)
{
    //write the message to Trace.
    Trace.Write(e.Message);
}