【发布时间】:2013-02-13 14:43:58
【问题描述】:
我想在 MemoryStream 中打开一个 XML 文件(来自 zip 存档)并从该流中创建一个 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);
我希望有人能有一个想法来解决我的问题。
【问题讨论】:
-
您的代码毫无意义,您实际上并没有使用阅读器。 DataSet.ReadXml() 有很多重载,包括需要读者阅读的重载。
-
您没有使用
StreamReader来读取文件。在ds.ReadXml调用中使用它。 -
已修复,抱歉我的错误
标签: c# streamreader memorystream