VB.Net/File Directory/Serialize to XML

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

Deserialize XML file from disk

<source lang="vbnet"> 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


      </source>


Serialize Class to XML file using XmlSerializer

<source lang="vbnet"> 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

      </source>