0

ダウンロードしたファイルを分離ストレージに保存しています。ダウンロードしているxmlファイルはそのようにエンコードされているため、エンコードをiso-8859-1に設定したいと思います。

var stream = new IsolatedStorageFileStream("myfile.xml", FileMode.Create, FileAccess.Write, myIsolatedStorage);
        using (StreamWriter writeFile = new StreamWriter(stream)) {
            string xml_file = e.Result.ToString();
            writeFile.WriteLine(xml_file);
            writeFile.Close();
        }
4

2 に答える 2

3

理想的な解決策は、ファイルをストリームとしてダウンロードし、ファイルに直接保存して、ダウンロードしたバイトをそのまま維持することです(したがって、テキストエンコーディングの変換は必要ありません)。

また、Windows Phoneは、UTF8やUnicodeなどのいくつかの基本的なテキストエンコーディングのみをサポートしています。WPで別のエンコーディングを使用するには、Silverlight TextEncodingGeneratorツールを使用する必要があります。

于 2012-05-21T17:35:49.023 に答える
2

結果を文字列に変換しているので、UTF-16をストリームに書き込んでいます。結果として、ストリームとXMLのエンコーディングを一致させる方法はありません。応答ストリームを分離されたストレージストリームにコピーできる場合があります。

XMLの作成、読み取り、書き込みに文字列操作を使用しないでください。それを適切に行うための対応するクラスはたくさんあります。あなたの場合、XmlDocumentまたはXDocumentのいずれかを使用してXMLを読み取り、XmlWriterの作成時にオプションでエンコードを指定してストリームに保存することをお勧めします。

于 2012-05-21T17:29:06.590 に答える