200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > Xml序列化和反序列化对象-使用MemoryStream-实践

Xml序列化和反序列化对象-使用MemoryStream-实践

时间:2019-12-19 06:23:43

相关推荐

Xml序列化和反序列化对象-使用MemoryStream-实践

【目的】

实践MemoryStream来Xml序列化对象

【代码】

待序列化类:

[Serializable()]

public class XInfo

{

private int _ID;

private string _Content;

public XInfo()

{

_ID = 0;

_Content = "Hello";

}

public int ID

{

get

{

return _ID;

}

set

{

_ID = value;

}

}

public string Content

{

get

{

return _Content;

}

set

{

_Content = value;

}

}

}

序列化对象和反序列化代码

System.Text.StringBuilder sb = new System.Text.StringBuilder();

XInfo myBlock = new XInfo();

XmlSerializer mySerializer = new XmlSerializer(typeof(XInfo));

using (Stream mem = new MemoryStream())

{

mySerializer.Serialize(mem, myBlock);

byte[] b = new byte[mem.Length];

mem.Position = 0;

mem.Read(b, 0, b.Length);

sb.Append(System.Text.UTF8Encoding.UTF8.GetString(b));

}

Response.Write(sb.ToString());

XInfo myObject;

XmlSerializer myDeSerializer = new XmlSerializer(typeof(XInfo));

Stream DesMem = new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(sb.ToString()));

myObject = (XInfo)myDeSerializer.Deserialize(DesMem);

if (myObject != null)

{

myObject.ID = 100;

Response.Write(myObject.ID);

Response.Write(myObject.Content);

}

else

Response.Write("Null");

DesMem.Close();

结论:正确执行,暂无异常

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。