Entwickler-Ecke
IO, XML und Registry - XmlSerializer und Sonderzeichen
mannyk - So 07.08.11 11:27
Titel: XmlSerializer und Sonderzeichen
Hi Leute,
ich habe das Problem, dass die Properties eines Objektes, welches ich serialisieren/deserialisieren will, strings enthalten kann, welche Sonderzeichen enthalten (z.B. \t, \n für Pfadangaben). Wenn ich diese Objekte nun serialisiere, so werden die Sonderzeichen in der XML-Datei interpretiert, was ich natürlich nicht will.
Nun meine Frage: Wie umgehe ich diese Interpretation am Einfachsten?
Anbei ein Code-Ausschnitt, den ich verwende:
C#-Quelltext
1: 2:
| XmlTextWriter writer = new XmlTextWriter(new FileStream("file.xml", FileMode.Create), Encoding.UTF8); m_serializer.Serialize(writer, fileLibrary); |
Danke und Grüße,
mannyk
Th69 - So 07.08.11 12:47
Hallo mannyk,
was genau meinst du mit
mannyk hat folgendes geschrieben: |
Wenn ich diese Objekte nun serialisiere, so werden die Sonderzeichen in der XML-Datei interpretiert, was ich natürlich nicht will. |
? Könntest du ein Beispiel der XML-Datei posten?
Und was passiert, wenn du diese wieder deserialisierst?
mannyk - So 07.08.11 13:13
Hallo,
ich habe z.b. ein Property, in welchem ein Dateipfad gespeichert wird.
C#-Quelltext
1:
| Path = @"C:\test.mp3"; |
Wird dies nun serialisiert, so steht dann in der xml datei:
XML-Daten
1: 2: 3: 4:
| <Track> <Uid>dc2c3422-574d-4355-a12b-5b50326c740b</Uid> <Path>C: est.mp3</Path> </Track> |
Das Sonderzeichen "\t" wird also als Tabulator interpretiert.
Ich habe den Mechanismus nun in ein anderes Projekt eingebettet und komischerweise funktioniert es jetzt ohne Probleme - es wird also nicht interpretiert. Ich habe allerdings keine Ahnung, warum das jetzt nicht mehr passiert.
Lg,
mannyk
Kha - So 07.08.11 17:37
Das kann eigentlich nur dadurch passiert sein, dass du vor einem String-Literal das @ vergessen hast.
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!