| 

.NET C# Java Javascript Exception

5
Hallo,

mich beschäftigt seit Tagen folgendes Problem:

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 &lt;  &gt;

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.

Wie kann man das Problem lösen?
Danke
Rene
News:
02.09.2009
Rene Drescher-Hackel 1,1k 1 8
1 Antwort
0
Hallo Rene,

der XmlSerializer erzeugt standardmäßig wohlgeformtest XML daher ist es nicht möglich < > zu erzeugen.

Du könntest

  • Die IXmlSerializable-Schnittstelle implementieren. Dann kannst du über die Methoden exakt steuern wie die Ausgabe sein soll. Ist ganz einfach ;)
  • Das erzeugte XML de-Escapen (oder wie das heißt) mit den Methoden von System.Web.HtmlEncode.


mfG Gü
02.09.2009
gfoidl 9,4k 3 5
gfoidl 9,4k 3 5
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.
Rene Drescher-Hackel 02.09.2009

Stelle deine Html-Frage jetzt!