目前我正在使用XmlSerializer来序列化和反序列化一个对象.xml是以未定义的顺序生成的,这是可以理解的,但在比较对象的版本时会令人讨厌,因为每次属性的顺序都不同.因此,例如我不能使用普通的差异工具来查看任何差异.
有没有一种简单的方法可以每次以相同的顺序生成我的xml,而无需自己编写ReadXml和WriteXml方法?我在类上有很多属性,并且不时地添加新的属性,所以宁愿不必编写然后维护该代码.
(C#.net 2.0)
我的课程如下
namespace Coverage {
public class ClassInfo {
public string ClassName;
public int BlocksCovered;
public int BlocksNotCovered;
public ClassInfo() {}
public ClassInfo(string ClassName, int BlocksCovered, int BlocksNotCovered)
{
this.ClassName = ClassName;
this.BlocksCovered = BlocksCovered;
this.BlocksNotCovered = BlocksNotCovered;
}
}
public class Module {
public List<ClassInfo> ClassInfoList;
public int BlocksCovered;
public int BlocksNotCovered;
public string moduleName;
public Module()
{
ClassInfoList = new List<ClassInfo>();
BlocksCovered = 0;
BlocksNotCovered = 0;
moduleName = "";
}
Run Code Online (Sandbox Code Playgroud)
使用以下序列化程序代码
XmlSerializer SerializerObj = new XmlSerializer(typeof(Module));
// Create …Run Code Online (Sandbox Code Playgroud)