Wie kann ich einen CDATA-Abschnitt in einem ConfigurationElement?
Ich bin mit dem .NET Fx 3.5 und geschrieben haben, meine eigene Konfiguration welche Klassen Erben von ConfigurationSection/ConfigurationElement. Derzeit habe ich am Ende mit etwas, das aussieht wie das in meiner Konfigurationsdatei:
<blah.mail>
<templates>
<add name="TemplateNbr1" subject="..." body="Hi!\r\nThis is a test.\r\n.">
<from address="[email protected]" />
</add>
</templates>
</blah.mail>
Ich würde gerne in der Lage sein, um auszudrücken, den Körper als Kind-Knoten von template
(das ist die add
- Knoten im obigen Beispiel), um am Ende mit etwas, das aussieht wie:
<blah.mail>
<templates>
<add name="TemplateNbr1" subject="...">
<from address="[email protected]" />
<body><![CDATA[Hi!
This is a test.
]]></body>
</add>
</templates>
</blah.mail>
Du musst angemeldet sein, um einen Kommentar abzugeben.
In die benutzerdefinierte Konfiguration-element-Klasse müssen Sie die Methode überschreiben
OnDeserializeUnrecognizedElement
.Beispiel:
Ich zu lösen hatte das gleiche Problem.
In Ihrem ConfigurationElement-Unterklasse, versuchen Sie überschreiben SerializeElement mit XmlWriter.WriteCData schreiben Sie Ihre Daten, und überschreiben DeserializeElement mit XmlReader.ReadContentAsString zu Lesen es zurück.