Entwickler-Ecke
IO, XML und Registry - Problem mit XmlSerializer
AeroX - Do 20.03.08 19:18
Titel: Problem mit XmlSerializer
hallo,
ich habe mir ein kleines Notiz-programm gemacht,
jedoch speichert es die Daten nicht wieder ab!
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56:
| FileStream FS; TextWriter TW; StreamReader SR; XmlSerializer XS = new XmlSerializer(typeof(DataClass)); DataClass DC = new DataClass();
...
public void LoadXml() { if (File.Exists(FILE)) { try { SR = new StreamReader(FILE); DataClass DC = (DataClass)XS.Deserialize(SR); SR.Close(); iNotesLength = DC.Name.Count; } catch (Exception e) { MessageBox.Show("Fehler beim Laden!\nError: " + e.Message); } } }
public void SaveXml() { try { FS = File.Open(FILE, FileMode.Create); TW = new StreamWriter(FS); XS.Serialize(TW, DC); TW.Close(); FS.Close(); } catch (Exception e) { MessageBox.Show("Fehler beim speichern!\nError: "+e.Message); } } ...
public class DataClass { public List<string> Name = new List<string>(); public List<string> Text = new List<string>(); } |
Laden funktioniert, das habe ich schon getestet.
aber er speichert einfach nur, leere variablen ab.
Moderiert von
Christian S.: Code- durch C#-Tags ersetzt
AeroX - So 23.03.08 22:45
kann mir keiner helfen?
Robert_G - So 23.03.08 23:10
AeroX hat folgendes geschrieben: |
kann mir keiner helfen? |
Du lädst es nicht.
Du lädst es in eine lokale Variable, anstatt in das Feld. Beim Speichern, willst du hingegen das Feld speichern.
Entferne einfach mal die lokale Variable beim Laden.
AeroX - Mo 24.03.08 01:24
welche variable meinst du?
JüTho - Mo 24.03.08 12:19
AeroX hat folgendes geschrieben: |
welche variable meinst du? |
Vermutlich das hier im LoadXml:
C#-Quelltext
1: 2: 3: 4:
| DataClass DC = (DataClass)XS.Deserialize(SR); DC = (DataClass)XS.Deserialize(SR); |
Durch die lokale Deklaration entsteht ein lokales Objekt, das am Ende des try-Blocks schon wieder verschwindet.
Jürgen
AeroX - Mo 24.03.08 21:35
ok, danke dir!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!