Feedback

Objekt in XML speichern (Serialisieren)

Sprache: C#

Das Objekt der Klasse Kunde wird hier in einer XML Datei gespeichert und wieder geladen.
using System.IO;
using System.Xml.Serialization;

private Kunde KundeEinlesen()
{
    XmlSerializer ser = new XmlSerializer(typeof(Kunde));
    StreamReader sr = new StreamReader(@"c:Kunde1.xml");
    Kunde Kunde1 = (Kunde)ser.Deserialize(sr);
    sr.Close();
    return Kunde1;
}

private void KundeAnlegenUndSpeichern(string newVorname, string newNachname)
{
    Kunde Kunde1 = new Kunde(newVorname, newNachname);
    
    XmlSerializer ser = new XmlSerializer(typeof(Kunde));
    FileStream str = new FileStream(@"c:Kunde1.xml", FileMode.Create);
    ser.Serialize(str, Kunde1);
    str.Close();
}

public class Kunde
{
	public Kunde(string newVorname, string newNachname)
	{
	    Vorname = newVorname;
	    Nachname = newNachname;
	}
	
	public Kunde()
	{ }
	
	private string _Vorname;
	public string Vorname
	{
	    get { return _Vorname; }
	    set { _Vorname = value; }
	}
	
	private string _Nachname;
	public string Nachname
	{
	    get { return _Nachname; }
	    set { _Nachname = value; }
	}
}
using System.IO;
using System.Xml.Serialization;

private Kunde KundeEinlesen()
{
    XmlSerializer ser = new XmlSerializer(typeof(Kunde));
    StreamReader sr = new StreamReader(@"c:Kunde1.xml");
    Kunde Kunde1 = (Kunde)ser.Deserialize(sr);
    sr.Close();
    return Kunde1;
}

private void KundeAnlegenUndSpeichern(string newVorname, string newNachname)
{
    Kunde Kunde1 = new Kunde(newVorname, newNachname);
    
    XmlSerializer ser = new XmlSerializer(typeof(Kunde));
    FileStream str = new FileStream(@"c:Kunde1.xml", FileMode.Create);
    ser.Serialize(str, Kunde1);
    str.Close();
}

public class Kunde
{
	public Kunde(string newVorname, string newNachname)
	{
	    Vorname = newVorname;
	    Nachname = newNachname;
	}
	
	public Kunde()
	{ }
	
	private string _Vorname;
	public string Vorname
	{
	    get { return _Vorname; }
	    set { _Vorname = value; }
	}
	
	private string _Nachname;
	public string Nachname
	{
	    get { return _Nachname; }
	    set { _Nachname = value; }
	}
}

1 Kommentar

  1. Hi,

    funktioniert der Spass auch unter C# 2.0?

    Bekomme leider immer eine lustige Exception:
    „Fehler im XML-Dokument (0,0).“

    Ich versuche, das über KundeAnlegenUndSpeichern(…) erzeugte XML File wieder einzulesen.

    Unter C# 1.1 klappts bei nem Kollegen von mir.