Frage

In C#muss ich XML -Dateien zur Verwendung mit Ivy und Nant erstellen, habe aber Schwierigkeiten, die richtige Codierung in der Ausgabedatei zu erhalten.

Wenn ich Xelements .Save ("C: foo.xml") verwende, bekomme ich das richtige aussehen Datei, aber Ivy und/oder Nant sind verärgert, da die Datei tatsächlich mit UTF-8 gespeichert wird, aber ich muss sie tatsächlich als ANSI speichern, um sie zu verwenden.

Ich habe derzeit eine Bodge an Ort und Stelle, die .ToString () verwenden soll, um den Text zu erhalten und dann einen Streamwriter zu verwenden, um ihn in eine Datei zu schreiben.

Idealerweise möchte ich das Format während der .Save () festlegen, kann aber keine Informationen dazu finden.

Vielen Dank.

War es hilfreich?

Lösung

XDocument.save hat eine Reihe von Überladungen.

Das Schreiben über einen ordnungsgemäß konstruierten XMLWriter ermöglicht es uns, die ASCII -Codierung auszuwählen.

var doc = XDocument.Parse( "<foo>&#160;bar&#7800;baz</foo>" );

XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = new ASCIIEncoding();
using (var writer = XmlWriter.Create( "xelement.xml", settings )) {
    doc.Save( writer );
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top