我正在考虑将我们当前序列化/反序列化的类转换XMLSerializer
为使用DataContractSerializer
. 我希望切换的主要原因是OnDeserialized
您使用DataContractSerializer
. 如果需要,我真的希望能够利用对象的初始化。在我尝试转换的类中, and 有多种用途<XmlAttribute()>
,<XmlElement()>
具体取决于它们在 XML 中的显示方式。
我创建了一个测试类,只调用了具有几个不同属性的 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