Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# XML反序列化消除了创建集合包装器的需要_C#_.net_Xml Serialization_Xmlserializer - Fatal编程技术网

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序列化程序,请参阅