成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

C#反序列化XML異常:在 XML文檔(0, 0)中有一個(gè)錯(cuò)誤“缺少根元素”

scq000 / 1092人閱讀

摘要:在反序列化字符串為對(duì)象時(shí),拋出如下異常。即在文檔中有一個(gè)錯(cuò)誤缺少根元素。首先看下代碼拋出異常是在這里出現(xiàn)的。問(wèn)題在于這里,原因是進(jìn)行了寫(xiě)入操作,最后流的位置停留在尾部。因此,在反序列化之前將流的位置定位到開(kāi)始的位置即可。

Q:

在反序列化 Xml 字符串為 Xml 對(duì)象時(shí),拋出如下異常。

即在 XML文檔(0, 0)中有一個(gè)錯(cuò)誤:缺少根元素。

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)的。

問(wèn)題在于writer.Write(sb.ToString().Trim());這里,原因是進(jìn)行了寫(xiě)入操作,最后流的位置停留在尾部。因此,在反序列化之前將流的位置定位到開(kāi)始 0 的位置即可。

這里就是在 上面注釋的地方。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/110357.html

相關(guān)文章

  • Python基礎(chǔ)之(十)模塊

    摘要:是回調(diào)函數(shù),當(dāng)鏈接服務(wù)器和相應(yīng)數(shù)據(jù)傳輸完畢時(shí)觸發(fā)本函數(shù)可選。僅僅是針對(duì)的,在中,已經(jīng)沒(méi)有這個(gè)模塊了,取代它的是。由于以流式讀取文件,從而速度較快,切少占用內(nèi)存,但是操作上稍復(fù)雜,需要用戶實(shí)現(xiàn)回調(diào)函數(shù)。 編寫(xiě)模塊 模塊是程序 模塊就是一個(gè)擴(kuò)展名為.py的Python程序。 編寫(xiě)模塊 #!/usr/bin/env python # coding=utf-8 lang = python 引...

    jlanglang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<