0

を使用して単純なXDocumentを保存しています

xDoc.Save(result.Filename, SaveOptions.OmitDuplicateNamespaces);

ファイルを開いてWindowsシステム(Server2008またはWin7)で処理すると、xmlは正しく、次のシステムで正しく処理されます。

ただし、本番システム(unix)に移動すると、xmlは正しく読み取れません。

結果のファイルをviUNIXボックスに表示すると、先頭に3つの制御文字があります。これらとxmlプロセスを正しく削除してください。

Notepad ++(ファイルをANSI / UTF8として表示)でこれらの文字を見ることができません。

これらのキャラクターが何であるか、どのようにそこに到達するか、そしてそれらを削除するか、表示を停止する方法を誰かが知っていますか?

4

2 に答える 2

2

Unicode BOMを省略new UTF8Encoding(false)して、saveメソッドに渡すだけです。

このようなもの(疑似コードとして扱ってください):

using(var writer =  new StreamWriter(result.Filename, false, new UTF8Encoding(false))){
    xDoc.Save(writer , SaveOptions.OmitDuplicateNamespaces);
}
于 2012-06-06T11:41:29.570 に答える
1

これはUnicodeBOM(バイト順マーク)です。

Linuxで表示されている場合は、Unicode対応のエディター/ビューアーを入手してください。

于 2012-06-06T11:30:14.670 に答える