4

C# では、Ivy と NAnt で使用する XML ファイルを作成する必要がありますが、出力ファイルで適切なエンコーディングを取得するのに苦労しています。

XElement の .Save("C:\foo.xml") を使用すると、正しい見た目のファイルが得られますが、ファイルは実際には UTF-8 を使用して保存されているため、Ivy や NAnt が動揺しますが、実際には保存する必要があります。 ANSIとして使用できるようにします。

.ToString() を使用してテキストを取得し、StreamWriter を使用してそれをファイルに書き込むことです。

理想的には、.Save() 中にフォーマットを設定したいのですが、これに関する情報が見つかりません。

ありがとう。

4

1 に答える 1

10

XDocument.Saveには、多数のオーバーロードがあります。

適切に構築された XmlWriter を介して書き込むと、ASCII エンコーディングを選択できます。

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 );
}
于 2010-02-24T04:49:26.020 に答える