Liste aller Codebeispiele
Ein Beispiel zum Einsatz der Klasse System.Xml.Serialization.XmlSerializer aus der .NET-Klassenbibliothek.
Autor: Dr. Holger Schwichtenberg
Beschreibung
Deserialize() wird auch analog zum Binär-Serialisierer verwendet. Zu beachten ist, dass die XmlSerializer-Klasse bei der Deserialisierung den Typ des zu deserialisierenden Objekts erwartet.
Deserialisierung aus XML-Datei
Die Hilfsroutine xml_deserialize() benötigt für die Instanziierung der XmlSerializer-Klasse neben dem Dateinamen einen weiteren Parameter mit einem entsprechenden Type-Objekt. Für das Einlesen der XML-Datei kommt hier ein StreamReader zum Einsatz. Alternativ könnte ein Stream- oder ein XmlReader-Objekt verwendet werden.
Programmcodebeispiele Visual Basic .NET (VB.NET)
' --- Deserialisieren aus XML-Datei
Function xml_deserialize(ByVal t As Type, _
ByVal datei As String) As Object
Dim obj As Object
Dim reader As New StreamReader(datei)
Dim serializer As New XmlSerializer(t)
obj = serializer.Deserialize(reader)
out("Objekt wurde geladen aus " & datei)
reader.Close()
Return (obj)
End Function
Programmcodebeispiele CSharp (C#)
using System;
using System.Runtime.Serialization.Formatters.Binary;
using System.Runtime.Serialization.Formatters.Soap;
using System.Runtime.Serialization;
using System.IO;
using System.Xml.Serialization;
using System.Xml;
using System.Data;
namespace FCL_Buch._System_Runtime_Serialization {
// Hilfsfunktionen für Serialisierung
public class SerializationHelper {
public static object Xml_Deserialize(Type t, string datei) {
// Deserialisieren aus XML-Datei
StreamReader reader = new StreamReader(datei);
XmlSerializer serializer = new XmlSerializer(t);
object obj = serializer.Deserialize(reader);
FclOutput.PrintOut("Objekt wurde geladen aus " + datei);
reader.Close();
return (obj);
}
}
}
Querverweise
Definition '.NET Framework Class Library'
Verfügbarkeit der Klasse 'System.Xml.Serialization'
Übersicht über den FCL-Namensraum 'System.Xml.Serialization'
Portal dotnetframework.de
|