DataContractSerialization的等效XMLAttribute?
问题描述:
我在看转换我们目前使用XMLSerializer
序列化/反序列化的类来使用DataContractSerializer
。我期望切换的主要原因是因为您使用DataContractSerializer
获得的OnDeserialized
回调功能。如果需要的话,我真的希望能够利用对象的初始化。在我试图转换的课程中,根据它们在XML中的显示方式,<XmlAttribute()>
和<XmlElement()>
有几种用途。DataContractSerialization的等效XMLAttribute?
我已经创建了一个测试类,只是调用具有几个不同属性的Person,以便测试将对象序列化为XML,然后将其反序列化为对象。这很好,但我不确定的一件事是为需要成为XML属性的属性指定什么,而不是元素(下面的“ID”)。
这就是我想要的:
<Person ID="5">
<FullName>FirstName LastName</FullName>
</Person>
这就是我得到:
<Person>
<FullName>FirstName LastName</FullName>
<ID>5</ID>
</Person>
在下面的例子中,如何我指定ID是一个属性,而不是一个元件?所以XML序列化时显示出来像上面:
<DataContract()> _
Public Class Person
<DataMember()> _
Public FullName As String
'//What should go here?
Public ID As Integer
End Class
谢谢,但不只适用于XML序列化?我正在寻找一种通过DataContract序列化来指定XML属性的方法。 – lhan 2012-08-01 16:38:25
哦,你不能用DataContract [更多细节在这里](http://*.com/questions/591907/how-can-you-control-wcf-serialization-so-it-uses-attributes-instead-of -elements)。 – 2012-08-01 17:07:56
是的,我想到:(噢,谢谢! – lhan 2012-08-01 18:35:32