SaveSoapData - serializing an object to file in SOAP format
' Serialize an object to file in SOAP format.
Sub SaveSoapData(ByVal path As String, ByVal o As Object)
' Open a file stream for output.
Dim fs As FileStream = New FileStream(path, FileMode.Create)
' Create a SOAP formatter for this stream.
Dim sf As New SoapFormatter(Nothing, _
New StreamingContext(StreamingContextStates.File))
' Serialize the array to the file stream, and close the stream.
sf.Serialize(fs, o)
fs.Close()
End Sub
' This sample procedure tests the reusable routine above.
' Note that you also need the LoadSoapData function, linked below.
Sub TestSoapSerialization()
' Create a hashtable object and fill it with some data.
Dim ht As New Hashtable()
ht.Add("One", 1)
ht.Add("Two", 2)
ht.Add("Three", 3)
' Save the hash table to disk in SOAP format.
SaveSoapData("c:\hashtbl.xml", ht)
' Reload the file contents into another HashTable object.
Dim ht2 As Hashtable
ht2 = CType(LoadSoapData("c:\hashtbl.xml"), Hashtable)
' Display values.
Dim de As DictionaryEntry
For Each de In ht2
Console.WriteLine("Key=" & de.Key.ToString & " Value=" & _
de.Value.ToString)
Next
End Sub
' Note: This code is taken from Francesco Balena's
' "Programming Microsoft Visual Basic .NET" - MS Press 2002, ISBN 0735613753
' You can read a free chapter of the book at
' http://www.vb2themax.com/HtmlDoc.asp?Table=Books&ID=101000