Analytics

2013年9月6日 星期五

[C#]使用 StreamReader.ReadToEnd with DataSet.ReadXml 注意事項 (Use StreamReader.ReadToEnd with DataSet.ReadXml precautions)


問題
使用 StreamReader.ReadToEnd with DataSet.ReadXml 注意事項



解決方法
用DataSet讀取xml時,通常我們可以這樣做,如下:
StreamReader r = new StreamReader("ss.xml", Encoding.Default);
new DataSet().ReadXml(r);
但是當我們要將stream的資料另存一份時,使用ReadToEnd卻讀不到資料!!
string contant=r.ReadToEnd();
這是因為DataSet自行幫我們把資料給清掉了! 因此須改程先取出資料內容,再把資料內容給DataSet讀取,如下
StreamReader r = new StreamReader("ss.xml", Encoding.Default);
string contant=r.ReadToEnd();
new DataSet().ReadXml(new MemoryStream(Encoding.Default.GetBytes(contant)));

沒有留言:

熱門文章