Ich habe eine XSD-Datei, aus der ich mir eine Klasse mit xsd.exe erzeugen lassen habe. Mit diesem Objekt arbeite ich dann auch, um die Werte entsprechend anzulegen. Das Ziel ist es, eine HTML Datei zu erzeugen.
in dem Objekt
htmlBodyDiv div = new htmlBodyDiv(); div.Text = new string[1]; div.Text[0] = content;
schiebe ich unter anderem auch feinstes HTML rein. Die Serialisierung mache ich dann so:
using (FileStream fileStream = File.Create(target)) { XmlSerializer serializer = new XmlSerializer(typeof(html)); XmlWriterSettings settings = new XmlWriterSettings(); settings.OmitXmlDeclaration = true; settings.CheckCharacters = true; settings.Encoding = Encoding.UTF8; using (XmlWriter w = XmlTextWriter.Create(fileStream, settings)) { serializer.Serialize(w, wordHtml); w.Flush(); w.Close(); } }
Wenn ich mir dann allerdings das Ergebnis ansehe, dann sind alle
< > in < >
umgewandelt.
Ich weiß, dass ich es anders schreiben könnte, doch wollte ich unbedingt den XmlSerializer benutzen, damit ich die Datei auch wieder deserialisieren könnte.
Ich dachte schon, dass man das evtl. über Attribute in der Serializer-Klasse lösen können müßte - doch kenne ich mich hier zu wenig aus.
Hallo Günther, ja daran hatte ich auch schon gedacht. Vom Aufwand nimmt es sich nicht viel zu der Lösung, die ich jetzt genommen habe: habe einen eigenen Serializer mir geschrieben - ganz weg von XML. Danke dir aber.