c# - 如何使用 C# 代码检测 XSLT 转换中的 "parsing time"?

标签 c# xslt

我编写了用于触发 XML 到 XML (XSLT) 转换的 C# 代码。由于转换取决于 XML 的大小,而我的输入 XML 文件可以从千字节到兆字节不等,我想检测“解析我的输入文件和生成输出所花费的时间”..我可以显示“value"通过 GUI 或控制台,没问题。目的是将“以秒或毫秒为单位的时间”保存在变量中

任何与此想法相关的引用或教程链接也会有所帮助..

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

最佳答案

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

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

如果你想要以秒和毫秒为单位的耗时:

string seconds = elapsed.TotalSeconds.ToString("0.000");

如果你想分别为解析和转换计时:

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;

关于c# - 如何使用 C# 代码检测 XSLT 转换中的 "parsing time"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1794978/

相关文章:

xslt - 如何将元素插入到 xslt 中先前创建的元素中?

xslt - XSL 1.0 - 从不同列表中排序列表

c# - 需要 RegEx 返回第一段或前 n 个词

c# - 如何使 Json.Net 跳过空集合的序列化

c# - 在一个组合框中显示数据库中的多列

c# - 在 asp.net-core 中将模型的属性别名为不同的名称

html - 将 css 链接添加到我无法使用 XSLT 修改的 xhtml 文件?

xml - 遍历元素名称中的数字

C# 3.0 匿名类型 : Naming

xslt 1.0 字符串替换功能