Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C#] Fehlerhafte XML-Serialisierung (https://www.delphipraxis.net/136302-%5Bc-%5D-fehlerhafte-xml-serialisierung.html)

TurboMartin 27. Jun 2009 20:42


[C#] Fehlerhafte XML-Serialisierung
 
Hallo DP :hi: ,

ich habe hier ein doch sehr merkwürdiges Problem mit der Serialisierung eines Objekts, welches eine String-Eigenschaft besitz. Diese Eigenschaft soll einen Pfad zu einer Datei enthalten.
Schreibe ich den Pfad direkt in die Codedatei mit der Pfadangabe und \\ als Ordner-Trenner rein, funktioniert die Serialisierung einwandfrei, wobei als Ordner-Trennung \ verwendet wird.

Code:
ProgSettings.SoundPath = "ok1.wav";
XmlSerializer ser = new XmlSerializer(typeof(Settings));
FileStream str = new FileStream(FilePath, FileMode.Create);
ser.Serialize(str, ProgSettings);
str.Close();
Will ich ddie dabei erzeugte Datei wieder deserialisieren, funktioniert es nicht, und auch andere Eigenschaften werden nicht deserialisiert, noch kommt irgendeine Exception.

Code:
XmlSerializer ser = new XmlSerializer(typeof(Settings));
StreamReader sr = new StreamReader(FilePath);
ProgSettings = (Settings)ser.Deserialize(sr);
sr.Close();
Gebe ich keinen Pfad an, funktioniert die deserialisierung wieder einwandfrei...

Wo liegt da das Problem? Ich benutze das VS 2005 Standard.

Dax 27. Jun 2009 20:44

Re: [C#] Fehlerhafte XML-Serialisierung
 
Ist der Setter für den Pfad public und auf einem leeren Objekt aufrufbar, ohne Exceptions auszulösen? Das ist Vorraussetzung für XMLS ;)

TurboMartin 27. Jun 2009 20:48

Re: [C#] Fehlerhafte XML-Serialisierung
 
Zitat:

Zitat von Dax
Ist der Setter für den Pfad public und auf einem leeren Objekt aufrufbar, ohne Exceptions auszulösen? Das ist Vorraussetzung für XMLS ;)

Code:
public string SoundPath;

Dax 27. Jun 2009 20:55

Re: [C#] Fehlerhafte XML-Serialisierung
 
Hm, das ist natürlich interessant. Versuch doch mal, so lange Sachen aus deinem Testcase rauszuwerfen, bis es funktioniert, und poste das letzte nicht funktionierende.

TurboMartin 27. Jun 2009 21:00

Re: [C#] Fehlerhafte XML-Serialisierung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab grade was im Debuger entdeckt. Bild davon mal im Anhang.

Kann es damit zusammenhängen?

Wenn ich die Pfadangabe auf einen Ordner verkürze, wird immerhin der Rest richtig deserialisiert.

Khabarakh 28. Jun 2009 10:39

Re: [C#] Fehlerhafte XML-Serialisierung
 
Das ist merkwürdig :gruebel: ... Nach Reflector sieht es eigentlich so aus, als ob mapping nach dem Konstruktor unmöglich null sein könnte.

Wie sieht denn die XML-Datei aus, die nicht mehr deserialisiert werden kann?
Wird vielleicht ganz böse irgendwo eine Exception geschluckt? Fange mal über Strg+D,E alle CLR-Exceptions ab.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz