Advertisement
NAK

Serialization DataContractSerializer (VB.NET)

NAK
Dec 1st, 2013
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 2.76 KB | None | 0 0
  1. Imports System.IO
  2. Imports System.Collections
  3. Imports System.Runtime.Serialization
  4.  
  5. Module Module1
  6.  
  7.     Sub Main()
  8.         While True
  9.             Console.WriteLine("s=serialize, r=read:")
  10.             Select Case Console.ReadLine()
  11.                 Case "s"
  12.  
  13.                     Dim EmployeeList1 = New List(Of Employee)()
  14.  
  15.                     ' create some objects adding them to a List
  16.                     EmployeeList1.Add(New Employee(1, "Elenor", "Scheller"))
  17.                     EmployeeList1.Add(New Employee(2, "Kaila", "Wilburn"))
  18.                     EmployeeList1.Add(New Employee(3, "Shea", "Wallen"))
  19.                     EmployeeList1.Add(New Employee(4, "Elliot", "Shaffer"))
  20.                     EmployeeList1.Add(New Employee(5, "Dominica", "Charney"))
  21.  
  22.                     Try
  23.                         Using stream As New FileStream("data.xml", FileMode.Create)
  24.  
  25.                             ' create DataContractSerializer
  26.                             Dim serializer = New DataContractSerializer(EmployeeList1.GetType())
  27.                             ' serialize the collection (EmployeeList1) to file (stream)
  28.                             serializer.WriteObject(stream, EmployeeList1)
  29.  
  30.                         End Using
  31.  
  32.                     Catch ex As Exception
  33.                     End Try
  34.  
  35.                 Case "r"
  36.                     Try
  37.                         Using stream As New FileStream("data.xml", FileMode.Open)
  38.  
  39.                             ' create DataContractSerializer
  40.                             Dim serializer = New DataContractSerializer(New List(Of Employee)().GetType())
  41.                             ' deserialize the collection (Employee) from file (stream)
  42.                             Dim EmployeeList2 = DirectCast(serializer.ReadObject(stream), List(Of Employee))
  43.  
  44.                             ' display the results
  45.                             For Each Employee In EmployeeList2
  46.                                 Console.WriteLine("{0}, {1}, {2}",
  47.                                     Employee.id,
  48.                                     Employee.fName,
  49.                                     Employee.sName)
  50.                             Next
  51.  
  52.                         End Using
  53.                     Catch ex As Exception
  54.                     End Try
  55.  
  56.             End Select
  57.         End While
  58.     End Sub
  59.  
  60.     ' The object we are going to Serializing/De-serializing
  61.     <DataContract>
  62.     Class Employee
  63.         <DataMember>
  64.         Property id As Integer
  65.         <DataMember>
  66.         Property fName As String
  67.         <DataMember>
  68.         Property sName As String
  69.  
  70.         Public Sub New(i As Integer, f As String, s As String)
  71.             id = i
  72.             fName = f
  73.             sName = s
  74.         End Sub
  75.     End Class
  76.  
  77. End Module
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement