C# XML反序列化消除了创建集合包装器的需要
我在读关于他的书 在示例中,您可以看到实际上有一个名为C# XML反序列化消除了创建集合包装器的需要,c#,.net,xml-serialization,xmlserializer,C#,.net,Xml Serialization,Xmlserializer,我在读关于他的书 在示例中,您可以看到实际上有一个名为Group的类,它类似于集合的包装器。因为可以有多个组s public class Group{ public Employee[] Employees; } public class Employee{ public string Name; } 在我的例子中,XML可能如下所示: <?xml version="1.0" encoding="utf-8" ?> <Company> <E
Group
的类,它类似于集合的包装器。因为可以有多个组
s
public class Group{
public Employee[] Employees;
}
public class Employee{
public string Name;
}
在我的例子中,XML可能如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<Company>
<Employees>
<Employee .../>
<Employee .../>
</Employees>
<Employees>
<Employee .../>
<Employee .../>
</Employees>
</Company>
我不想创建一个a类Employees{public Employee[]Employees;}
最好让员工[][]
而不是创建一个单独的员工
类坐在公司
类中
有没有办法用.NET framework的
XmlSerializer
实现这一点?我认为“更好”有点主观。我的“更好”是拥有一个完全独立的数据序列化层,该层可以与我的业务对象(我的应用程序的其余部分使用的业务对象)进行转换。因此,在我的序列化层中,我可以有各种包装器集合,或者任何允许简单、灵活和可读的语义的集合,这些语义与XML模式很好地匹配。或者,如果我的XML模式发生了变化(或者我后来使用了一个完全不同的序列化程序,如JSON或protobuf net),那么我的应用程序的核心/核心部分就不关心了。似乎XmlSerializer不支持锯齿数组,所以我不确定是否有一个解决方案缺少自己的集合包装器(这是您首先要避免的):似乎您需要一个自定义xml序列化程序,请参阅