Hallo Gemeinde,
ich möchte gerne eine Liste in xml schreiben und habe dabei ein Problem. Dazu sei jnoch erwähnt das ich ziemlich neu in C# bin, man vergebe mir triviale Fehler.
Bislang habe ich eine Methode writeXml_Test welcher mir erfolgreich eine Liste von Objekten des Typs ExerciseStart in ein xml schreibt. So sieht das ganze aus:
Die Methode:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| public static void writeXml_Test(List<ExerciseStart> dieListe) { XmlSerializer serializer = new XmlSerializer(typeof(List<Datenmodell.ExerciseStart>)); FileStream fs = new FileStream("horst.xml", FileMode.Create); serializer.Serialize(fs, dieListe); fs.Close(); } |
Die zu Grunde liegende Klasse:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| public class ExerciseStart { public int PositionImVerlauf; public Zeitstempel Zeitstempel; public String Übungsname; public int Übungsnummer; public String Übungstyp; public double Windrichtung; public int Windgeschwindigkeit; public int Wolkendichte; public int Wolkenhöhe; public int Nebel; public int Schnee; public int Hagel; public ExerciseStart() { } } |
Nun möchte ich aktuell ein xml aus einer Liste von anderen Objekten schreiben, diesmal Objekte vom Typ LogEntry.
Hier bekomme ich nun an der Stelle wo ich den Serializer initiiere eine Exception
## There was an error reflecting type 'System.Collections.Generic.List`1[Datenmodell.LogEntry]'. ##
.... Sieht da jemand von euch das Problem?
Die neue Methode:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7:
| public static void writeXml_Test_2(List<LogEntry> dieLogEntries) { XmlSerializer serializer = new XmlSerializer(typeof(List<Datenmodell.LogEntry>)); FileStream fs = new FileStream("horst2.xml", FileMode.Create); serializer.Serialize(fs, dieLogEntries); fs.Close(); } |
Die Klasse:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| public class LogEntry { public const string Pattern = "Zeit1|Zeit2|Objektname1|Name:String|Breite:int"; public DateTime Zeit1 { get; private set; } public DateTime Zeit2 { get; private set; } public string Name { get; private set; } public Dictionary<string, string> Attribute { get; set; }
public LogEntry() { } |
Ich danke im Voraus, Gruß