DataContract不使用attribute中指定的Name属性

时间:2011-02-04 15:14:15

标签: c# serialization rest xml-serialization wcf

我不知道正在使用什么序列化程序但是在使用datacontract属性的Name属性时序列化期间我看到一些不一致的行为。

以下是我正在做的一个例子:

[XmlRoot(ElementName = "ASerCollection")]
public class SerCollection : List<ColElem>
{
}

[DataContract(Name = "SomethignElse", Namespace = "")]
public class ColElem
{

}

我遇到的问题是序列化产生的东西类似于以下XML:

<ASerCollection>
<ColElem />
</ASerCollection>

我正在将此作为WCF服务的一部分。如果有什么我可以做的不同强制使用我的datacontract的“名称”属性,请告诉我。

由于

1 个答案:

答案 0 :(得分:2)

这是因为:

  • XMLRootAttribute由XmlSerializer
  • 使用
  • DataContractAttribute由DataContractSerializer
  • 使用

一个人不理解另一个人的属性。 根据您的尝试以及课程之间的关系,我认为您应该阅读如何指导上述序列化程序并选择满足需求的序列化程序。

以下是几个链接:

希望这有点帮助。