xmlSerializeによるXML出力時にencoding属性を付与する

xmlSerializerを使用してシリアライズ(serialize)する際にFileStreamを使用して出力すると、下記のようなEncoding属性が付与されません。

xml version="1.0" encoding="utf-8"

Encoding属性を指定するにはStreamWriterを使用して設定したいEncodingを使用すると出力時にEncoding属性を付ける事ができます。
例はUTF-8ですがShift-Jisなど他の文字コードを使用する場合も同様に対応することができます。


StreamWriter sw = new StreamWriter("test2.xml", false, Encoding.UTF8);
serializer.Serialize(sw, item, ns);
sw.Close();