摘要:在反序列化字符串為對象時,拋出如下異常。即在文檔中有一個錯誤缺少根元素。首先看下代碼拋出異常是在這里出現的。問題在于這里,原因是進行了寫入操作,最后流的位置停留在尾部。因此,在反序列化之前將流的位置定位到開始的位置即可。
Q:
在反序列化 Xml 字符串為 Xml 對象時,拋出如下異常。
即在 XML文檔(0, 0)中有一個錯誤:缺少根元素。
A:首先看下代碼:
StringBuilder sb = new StringBuilder(); using (MemoryStream stream = new MemoryStream()) { StreamWriter writer = new StreamWriter(stream); writer.Write(sb.ToString().Trim()); writer.Flush(); //stream.Position=0; // or //stream.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(stream); XmlSerializer xmlSerializer = new XmlSerializer(typeof(T)); object obj = xmlSerializer.Deserialize(reader); reader.Close(); reader.Close(); writer.Close(); writer.Dispose(); }
拋出異常是在object obj = xmlSerializer.Deserialize(reader);這里出現的。
問題在于writer.Write(sb.ToString().Trim());這里,原因是進行了寫入操作,最后流的位置停留在尾部。因此,在反序列化之前將流的位置定位到開始 0 的位置即可。
這里就是在 上面注釋的地方。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110357.html
摘要:是回調函數,當鏈接服務器和相應數據傳輸完畢時觸發本函數可選。僅僅是針對的,在中,已經沒有這個模塊了,取代它的是。由于以流式讀取文件,從而速度較快,切少占用內存,但是操作上稍復雜,需要用戶實現回調函數。 編寫模塊 模塊是程序 模塊就是一個擴展名為.py的Python程序。 編寫模塊 #!/usr/bin/env python # coding=utf-8 lang = python 引...
閱讀 2365·2021-11-11 16:54
閱讀 2612·2021-09-26 09:47
閱讀 3987·2021-09-08 09:36
閱讀 2735·2021-07-25 21:37
閱讀 931·2019-08-30 15:54
閱讀 2543·2019-08-30 14:22
閱讀 3253·2019-08-30 13:57
閱讀 2583·2019-08-29 17:17