我有一个C#类,如下所示:
class CoverageInfo {
public string className;
public int blocksCovered;
public int blocksNotCovered;
public CoverageInfo(string className, int blocksCovered, int blocksNotCovered)
{
this.className = className;
this.blocksCovered = blocksCovered;
this.blocksNotCovered = blocksNotCovered;
}
}
而且,我有一个List,ModuleName,BlocksCovered / BlocksNotCovered变量。
在这些信息中,我需要创建一个XML文件,如下所示。
<Coverage>
<Module>
<ModuleName>hello.exe</ModuleName>
<BlocksCovered>5</BlocksCovered>
<BlocksNotCovered>5</BlocksNotCovered>
<Class>
<ClassName>Fpga::hello</ClassName>
<BlockCovered>5</BlocksCovered>
<BlocksNotCovered>2</BlocksNotCovered>
</Class>
<Class>
...
</Class>
</Totalcoverage>
</Coverage>
如何使用C#做到这一点?
最佳答案
在这种简单的情况下,我将对XML序列化属性使用XmlSerializer
。
这里提供了一个很好的教程:
http://www.codeproject.com/KB/XML/GameCatalog.aspx
我敦促您使用属性而不是成员,因为将来您将更灵活地实现挂钩或区分获取/设置访问权限。 (但是,如果您仍然想使用XML属性,则后者必须保持公开状态,否则必须切换到实现IXmlSerializable
。)
在您的情况下,代码如下所示:
class CoverageInfo {
[XmlElement("ClassName")]
public string className;
[XmlElement("BlockCovered")]
public int blocksCovered;
[XmlElement("BlocksNotCovered")]
public int blocksNotCovered;
....
}
然后由
XmlSerializer
完成该工作关于c# - C#中的XML类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5012900/