VB.Net/File Directory/Serialize to XML

Материал из VB Эксперт
Перейти к: навигация, поиск

Deserialize XML file from disk

Imports System
Imports System.Collections
Imports System.Data
Imports System.IO
Imports System.Xml.Serialization
Imports System.Windows.Forms
Imports System.Xml
Public Class MainClass
    Shared Sub Main()
        Dim address As New Address()
        Dim stream As New FileStream("address.xml", FileMode.Create)

        " create a serializer...
        Dim serializer As New XmlSerializer(Address.GetType)
        " save the file...
        serializer.Serialize(stream, address)
        " close the file...
        stream.Close()
        address = Load("address.xml", Address.GetType)

    End Sub
    
    Public Shared Function Load(ByVal stream As Stream, _
                     ByVal newType As Type) As Object
        Dim serializer As New XmlSerializer(newType)
        Dim newObject As Object = serializer.Deserialize(stream)
        Return newobject
    End Function
    Public Shared Function Load(ByVal filename As String, _
                     ByVal newType As Type) As Object
        Dim fileInfo As New FileInfo(filename)
        If fileInfo.Exists = False Then
            Return System.Activator.CreateInstance(newType)
        End If
        Dim stream As New FileStream(filename, FileMode.Open)
        Dim newObject As Object = Load(stream, newType)
        stream.Close()
        Return newObject
    End Function
End Class
Public Class Address
    " members...
    Public FirstName As String
    Public LastName As String
    Public CompanyName As String
    Public Address1 As String
    Public Address2 As String
    Public City As String
    Public Region As String
    Public PostalCode As String
    Public Country As String
    Public Email As String

End Class


Serialize Class to XML file using XmlSerializer

Imports System
Imports System.Collections
Imports System.Data
Imports System.IO
Imports System.Xml.Serialization
Imports System.Windows.Forms
Imports System.Xml
Public Class MainClass
    Shared Sub Main()
        Dim address As New Address()
        Dim stream As New FileStream("address.xml", FileMode.Create)

        " create a serializer...
        Dim serializer As New XmlSerializer(Address.GetType)
        " save the file...
        serializer.Serialize(stream, address)
        " close the file...
        stream.Close()
    End Sub
End Class
Public Class Address
    " members...
    Public FirstName As String
    Public LastName As String
    Public CompanyName As String
    Public Address1 As String
    Public Address2 As String
    Public City As String
    Public Region As String
    Public PostalCode As String
    Public Country As String
    Public Email As String

End Class