Imports System.IO
Imports System.Xml.Serialization
Namespace Serialize
Public Class Serializer
'''
''' 将类对象序列化为xml文件
'''
'''
'''
Public Shared Sub SerializeToXml(path As String, srcObject As Object)
Dim serializer As New XmlSerializer(srcObject.GetType)
Dim xmlString As String = String.Empty
Using writer As New StringWriter
serializer.Serialize(writer, srcObject)
xmlString = writer.ToString()
End Using
Using ws As New StreamWriter(path)
ws.Write(xmlString)
End Using
End Sub
'''
''' 将类对象序列化为xml文件
'''
'''
'''
Public Shared Sub SerializeToXml(Of T)(path As String, srcObject As T)
Dim serializer As New XmlSerializer(GetType(T))
Dim xmlString As String
Using writer As New StringWriter
serializer.Serialize(writer, srcObject)
xmlString = writer.ToString()
End Using
Using ws As New StreamWriter(path)
ws.Write(xmlString)
End Using
End Sub
'''
''' 从Xml文件中反序列化成指定类
'''
'''
'''
'''
Public Shared Function DeserializeFormXml(Of T)(path As String) As T
Dim serializer As New XmlSerializer(GetType(T))
Using reader As New StreamReader(path)
Return CType(serializer.Deserialize(reader), T)
End Using
End Function
End Class
End Namespace