何に書いてるの?TextWriter?ストリーム?何?
以下はエンティティを保持します(まあ、それは同等の16進数に置き換えられます)-しかし、StringWriterで同じことを行うと、ユニコードを検出し、代わりにそれを使用します:
XmlDocument doc = new XmlDocument();
doc.LoadXml(@"<xml>™</xml>");
using (MemoryStream ms = new MemoryStream())
{
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = Encoding.GetEncoding("ISO-8859-1");
XmlWriter xw = XmlWriter.Create(ms, settings);
doc.Save(xw);
xw.Close();
Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
}
出力:
<?xml version="1.0" encoding="iso-8859-1"?><xml>™</xml>