您可以通过使用在(反)序列化时被忽略的属性来控制反序列化。
由于不清楚源日期字符串的最后一个数字部分代表什么,我的示例没有处理它 - 您可能需要扩展相应的 getter 和 setter 逻辑。
Public Class AppData
Private birthdatetime As DateTime
Private birthtimestring As String
<XmlElement(ElementName := "BIRTHTIME")>
Public Property DateString As String
Get
Return String.Format("{0:dd.MM.yyyy-HH:mm:ss} 1338593681", birthdatetime);
End Get
Set
birthtimestring = Value
Dim datetimepart As String() = birthtimestring.Split(New [Char]() {" "c})(0)
Dim ci As New CultureInfo("de-DE")
DateTime.TryParseExact(datetimepart, "dd.MM.yyyy-HH:mm:ss", ci, DateTimeStyles.None, birthdatetime)
End Set
End Property
<XmlIgnore()>
Public Property BirthDate As DateTime
Get
Return birthdatetime
End Get
Set
birthdatetime = Value
End Set
End Property
End Class
免责声明:我不是很精通 VB.Net,所以我从 C# 翻译的示例可能包含一些错误。随意编辑任何错误