0

我正在考虑将我们当前序列化/反序列化的类转换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
4

1 回答 1

0
<System.Xml.Serialization.XmlAttribute()>

应该可以解决您的问题,有关详细信息,请参阅MSDN XmlAttribute 参考

于 2012-07-31T17:54:46.483 回答