解析原始 NCover XML 文件以获取覆盖数据
我正在尝试使用 C# 从 NCover 生成的 XML 文件中提取覆盖率数据。 XML 文件看起来像这样:
<namespace n="namespace" t="11" fp="11" u="0" c="100">
<class n="foo" t="11" fp="11" u="0" c="100">
<method n="foo1" t="1" fp="1" u="0" c="100" l="16" />
<method n="foo2" t="1" fp="1" u="0" c="100" l="13" />
</class>
现在,当值 > 时,我正在使用模式匹配。 0 for c 然后向后查找方法名,但是确实很麻烦。 有一个更好的方法吗?
I'm trying to extract the coverage data from XML file generated by NCover using C#. The XML file looks something like this:
<namespace n="namespace" t="11" fp="11" u="0" c="100">
<class n="foo" t="11" fp="11" u="0" c="100">
<method n="foo1" t="1" fp="1" u="0" c="100" l="16" />
<method n="foo2" t="1" fp="1" u="0" c="100" l="13" />
</class>
Right now I'm using pattern matching for when there's a value > 0 for c and then looking behind to retrieve the method name, but its really cumbersome. Is there a better way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的意思是您没有使用标准 XML API(SAX、DOM 或其他)来处理该文件吗? 这很勇敢……嗯,确实很危险。
使用 XPath,找到 c>0 的元素将非常简单。 这是一个(未经测试的)表达式,应该可以解决这个问题:
Do you mean that you're not using a standard XML API (SAX, DOM, or other) to process the file? That's brave... well, dangerous, really.
Using XPath, it would be pretty simple to find the elements where c>0. Here's an (untested) expression that should do the trick:
您要解析哪个版本的 NCover?
Ncover 3 具有一种报告格式,可以为您汇总数字。
乔·费瑟
·NCover
What version of NCover are you trying to parse?
NCover 3 has a report format that has the numbers rolled up for you.
Joe Feser
NCover