Hallo Community,
in einem meiner Programm setze ich eine Klasse zum erstellen von XML-Dateien ein.
Dabei wird über den XMLSerializer die nachfolgende Struktur serialisiert:
[Serializable]
public struct Dataset
{
public Dataset(string Name, string Description, List\<string\> Values)
{
this.Name = Name;
this.Description = Description;
this.Values = Values;
}
[XmlAttribute] public string Name;
[XmlAttribute] public string Description;
public List\<string\> Values;
}
An und für sich ist das Ergebnis wie gewollt:
\<?xml version="1.0"?\>
\<SettingsCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"\>
\<Datasets\>
\<Dataset Name="Name 1" Description="Description 1"\>
\<Values\>
\<string\>Value 1.1\</string\>
\<string\>Value 1.2\</string\>
\</Values\>
\</Dataset\>
\</Datasets\>
\</SettingsCollection\>
Ein Problem hat sich aber dadurch ergeben, dass in einer Anforderung an das Programm
auch Zeilenumbrüche \r\n mit aufgenommen werden müssen.
Diese Zeilenumbrüche werden im Feld Description als

 ; angezeigt wodurch der ursprüngliche Zeilenumbruch \r\n erhalten bleibt.
Nur bei den Werten (Values) passiert dies nicht. Dort wird aus dem Zeilenumbruch \r\n ein \n in der XML-Datei und wird in Notepad auch direkt als Zeilenumbruch dargestellt:
\<?xml version="1.0"?\>
\<SettingsCollection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"\>
\<Datasets\>
\<Dataset Name="Name 1" Description="Description 1
Test"\>
\<Values\>
\<string\>Value 1.1
Test\</string\>
\<string\>Value 1.2\</string\>
\</Values\>
\</Dataset\>
\</Datasets\>
\</SettingsCollection\>
Wenn ich nun diese XML-Datei wieder deserialisiere, wird das Feld Description richtig dargestellt, wohingegen der Wert mit „Value1.1Test“ zurückgegeben wird.
Wie kann ich die Struktur so abändern das auch die einzelnen Werte (Values) korrekt mit Zeilenumbrüchen abgespeichert werden??
Das Ergebnis soll <string>Value 1.1 Test</string> sein…
Ich hoffe jemand hat eine Lösung…
Vielen Dank…
MfG GuerillaDenker