摘要:在反序列化字符串為對象時,拋出如下異常。即在文檔中有一個錯誤缺少根元素。首先看下代碼拋出異常是在這里出現(xiàn)的。問題在于這里,原因是進(jìn)行了寫入操作,最后流的位置停留在尾部。因此,在反序列化之前將流的位置定位到開始的位置即可。
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);這里出現(xiàn)的。
問題在于writer.Write(sb.ToString().Trim());這里,原因是進(jìn)行了寫入操作,最后流的位置停留在尾部。因此,在反序列化之前將流的位置定位到開始 0 的位置即可。
這里就是在 上面注釋的地方。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/110357.html
摘要:是回調(diào)函數(shù),當(dāng)鏈接服務(wù)器和相應(yīng)數(shù)據(jù)傳輸完畢時觸發(fā)本函數(shù)可選。僅僅是針對的,在中,已經(jīng)沒有這個模塊了,取代它的是。由于以流式讀取文件,從而速度較快,切少占用內(nèi)存,但是操作上稍復(fù)雜,需要用戶實現(xiàn)回調(diào)函數(shù)。 編寫模塊 模塊是程序 模塊就是一個擴(kuò)展名為.py的Python程序。 編寫模塊 #!/usr/bin/env python # coding=utf-8 lang = python 引...
閱讀 2516·2021-11-11 16:54
閱讀 2726·2021-09-26 09:47
閱讀 4057·2021-09-08 09:36
閱讀 2816·2021-07-25 21:37
閱讀 978·2019-08-30 15:54
閱讀 2600·2019-08-30 14:22
閱讀 3312·2019-08-30 13:57
閱讀 2829·2019-08-29 17:17