Sprache: VB
Diese Funktion kann ein Objekt serialisieren und als XML Datei speichern. Achtung der XmlSerializer hat einen nachteil: Man kann keine Objekte serialisieren die das IDictionary Interface implementiert haben, das geht nur mit dem BinaryFormatter (dazu habe ich ebenfalls ein Snippet)
''' <summary>
''' Diese Funktion serialisiert ein Objekt und speichert es als XML-Format Datei
''' </summary>
''' <typeparam name="T">Der Typ des Objekts</typeparam>
''' <param name="Obj">Das zu serialisierende Objekt</param>
''' <param name="FileName">Die XML Datei in der das Ergebnis gespeichert werden soll</param>
Public Sub XMLSerialize(Of T)(ByVal Obj As Object, ByVal FileName As String)
Dim XML As New XmlSerializer(GetType(T))
Dim FS As New FileStream(FileName, FileMode.Create)
XML.Serialize(FS, Obj)
FS.Close()
End Sub
''' <summary>
''' Diese Funktion serialisiert ein Objekt und speichert es als XML-Format Datei
''' </summary>
''' <typeparam name="T">Der Typ des Objekts</typeparam>
''' <param name="Obj">Das zu serialisierende Objekt</param>
''' <param name="FileName">Die XML Datei in der das Ergebnis gespeichert werden soll</param>
Public Sub XMLSerialize(Of T)(ByVal Obj As Object, ByVal FileName As String)
Dim XML As New XmlSerializer(GetType(T))
Dim FS As New FileStream(FileName, FileMode.Create)
XML.Serialize(FS, Obj)
FS.Close()
End Sub
Alte URL:
/snippet/objekt-mit-dem-xmlserializer-serialisieren/324
Der Typ-Parameter (T) ist überflüssig; der System.Type der an den Konstruktor von XmlSerializer übergeben werden muss, kann direkt aus dem angegebenen Objekt ermittelt werden.
[code]Dim xml As New XmlSerializer(obj.GetType())[/code]