如何使用C#代码检测XSLT转换中的"解析时间"?

Inf*_*nd' 3 c# xslt

我编写了一个用于触发XML to XML(XSLT)转换的C#代码.由于转型依赖于XML的大小和我的输入XML文件可以改变从基洛字节数兆字节,我要检测的"解析我的输入文件并生成输出所用的时间".我可以显示"价值"通过GUI或控制台,没有问题.目的是在变量中保存" 以秒或毫秒为单位的时间 ",

任何链接以供参考或有关此想法的教程也会有所帮助.

它是否取决于系统配置?
我的意思是,根据环境,解析时间因系统而异?
如果是..那么,是否有可能使它成为系统独立的代码?
急切地等待回复...比Q ..

Mar*_*ell 5

我不确定我完全理解,但也许只是:

Stopwatch watch = Stopwatch.StartNew();
// where "xslt" is your prepared XslTransform or XslCompiledTransform
xslt.Transform(input, args, results); 
watch.Stop();
TimeSpan elapsed = watch.Elapsed; // how long
Run Code Online (Sandbox Code Playgroud)

如果您想要以秒和毫秒为单位的经过时间:

string seconds = elapsed.TotalSeconds.ToString("0.000");
Run Code Online (Sandbox Code Playgroud)

如果你想要解析vs变换的单独时间:

Stopwatch watch = Stopwatch.StartNew();
XPathDocument sourceDoc = new XPathDocument(location);
watch.Stop();
TimeSpan parseTime = watch.Elapsed;
watch.Reset();

watch.Start();
xslt.Transform(sourceDoc, args, results);
watch.Stop();
TimeSpan transformTime = watch.Elapsed;
Run Code Online (Sandbox Code Playgroud)

  • 添加`using System.Diagnostics;`到顶部. (2认同)