Imports System.IO Imports System.Text Imports System.Xml Public Class BXmlSerializer ''' ''' 将类对象序列化为xml文件 ''' ''' ''' Public Shared Sub SerializeToXml(path As String, srcObject As Object) Dim serializer As New Xml.Serialization.XmlSerializer(srcObject.GetType) Dim xmlString As String = String.Empty Using writer As New StringUTF8Writer() 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 Xml.Serialization.XmlSerializer(GetType(T)) Dim xmlString As String Using writer As New StringUTF8Writer() 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 Xml.Serialization.XmlSerializer(GetType(T)) Using reader As New StreamReader(path) Return CType(serializer.Deserialize(reader), T) End Using End Function Public Class StringUTF8Writer Inherits StringWriter Public Overrides ReadOnly Property Encoding As Encoding Get Return Encoding.UTF8 End Get End Property End Class End Class