This a little class I made that can be used to serialize any serializable type to xml. This will work with a single object or collections etc. I figured I would share it, so here you go.
Usage: Serializing
vb.net Code:
'Serailizing a collection Dim data As New List(Of SerializableClass) 'Add items to the collection... Serializer.SerailizeToXml(Of List(Of SerializableClass))("C:\output.xml", data) 'And for as single object Dim sc As New SerializableClass Serializer.SerailizeToXml(Of SerializableClass)("C:\output.xml", sc)
Usage: Deserialization
vb.net Code:
'Deserialize a collection Dim results As List(Of SerializableClass) results = Serializer.DeserializeFromXml(Of List(Of SerializableClass))("C:\output.xml") 'And for a single object Dim sc As SerializableClass sc = Serializer.DeserializeFromXml(Of SerializableClass)("C:\output.xml")
The Class
vb.net Code:
Imports System.Xml.Serialization Imports System.IO Public Class Serializer Public Shared Sub SerailizeToXml(Of T)(ByVal Path As String, ByVal Data As T) Dim fs As FileStream = File.Create(Path) Dim xs As New XmlSerializer(GetType(T)) xs.Serialize(fs, Data) fs.Close() fs.Dispose() End Sub Public Shared Function DeserializeFromXml(Of T)(ByVal Path As String) As T If File.Exists(Path) Then Dim fs As FileStream = File.OpenRead(Path) Dim xs As New XmlSerializer(GetType(T)) Dim result As T = CType(xs.Deserialize(fs), T) fs.Close() fs.Dispose() Return result End If End Function End Class




Reply With Quote