MemoryStreamで(Zipアーカイブから)XMLファイルを開き、このストリームからStreamReaderを作成して、GridViewに配置したいと思います。
私はこのコードを使用します:
MemoryStream ms = new MemoryStream();
entry.Extract(ms);
StreamReader reader = new StreamReader(ms);
DataSet ds = new DataSet();
ds.ReadXml(reader);
dataGridView1.DataSource = GlobalDs.Tables[0];
XMLファイルがANSIでエンコードされている場合は、完全に機能します。しかし、UTF8でエンコードされたファイルをロードすると、次のようにStreamReader
を初期化しても、失敗します。
StreamReader reader = new StreamReader(ms, System.Text.Encoding.UTF8);
誰かが私の問題を解決するアイデアを持ってくれることを願っています。
使用してみてください:
StreamReader reader = new StreamReader(ms, System.Text.Encoding.UTF8, true);
3番目のパラメーターはdetectEncodingFromByteOrderMarks
( msdn )用です