为什么DataContractSerializer不支持属性?

时间:2011-05-20 16:09:21

标签: wcf xsd datacontractserializer svcutil.exe

我根据客户的文档创建了xsd,并且所有xsd都有属性。我一直在使用xsd.exe从xsd生成类,但我读到DataContractSerializer不支持属性。为什么不?这是否意味着我只能使用只有元素的soap + xml文件?这是不可能的,因为我没有创建请求。有没有办法指定svcutil来识别属性?

1 个答案:

答案 0 :(得分:5)

DataContractSerializer创建时考虑了“代码优先”的理念 - 它很好地映射到大多数编程语言(记录,列表),并且它不处理所有XML构造(例如属性,或者不属于出于性能原因,订购元素。

WCF(svcutil)仍然支持使用XmlSerializer,它可以处理AFAIK的所有XML构造。如果DataContractSerializer无法处理它,svcutil应该使用XmlSerializer创建一个契约。