C#中DataSet用ReadXml从MemoryStream加载数据缺少根元素异常

来源:互联网 发布:上知教育老师培训多久 编辑:程序博客网 时间:2024/05/16 17:44
                FileStream fo = new FileStream(filename, FileMode.Open, FileAccess.Read);                MemoryStream ms = new MemoryStream((int)(fo.Length));                byte[] buffer = new byte[8096];                int readed = fo.Read(buffer, 0, 8096);                                                while (readed != 0)                {                                                           ms.Write(buffer, 0, readed);                    readed = fo.Read(buffer, 0, 8096);                }                ms.Seek(0, SeekOrigin.Begin); //非常重要的一句话!没有的话,引发异常,缺少根元素                //                import.ReadXml(ms, XmlReadMode.ReadSchema);                fo.Close();                ms.Close();


假若先有大的 byte[] buffer,

MemoryStream ms = new MemoryStream(buffer);

则ms.Seek可以省略,ms流操作位置指针在首位置。

关键点是流操作位置指针位置!!

 

原创粉丝点击