您的位置:首页 > 其它

XML序列化对象到字符串,从字符串反序列化

2008-10-23 08:08 274 查看
这几天项目中用到XML序列化,于是去查看相关资料发觉介绍中全部是使用了XML文件进行交互,可项目需要的是字符串交互,怎么办?那是否可以采用类似内存文件方式进行呢,经过查找发觉MemoryStream可以使用,代码如下:
public class MyObjectXml
{
#region Serialize
/// <summary>
///
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public string Serialize(MyObject obj)
{
MemoryStream ms = new MemoryStream();
XmlTextWriter xmlWriter = new XmlTextWriter(ms, Encoding.UTF8);
xmlWriter.Indentation = 4;
xmlWriter.Formatting = Formatting.Indented;
XmlSerializer formatter = new XmlSerializer(typeof(MyObject));
formatter.Serialize(xmlWriter, obj);
xmlWriter.Close();
string xmlstring = Encoding.UTF8.GetString(ms.ToArray());
return xmlstring;
}
/// <summary>
///
/// </summary>
/// <param name="xmlstring"></param>
/// <returns></returns>
public MyObject DeSerialize(string xmlstring)
{
byte[] buffer = Encoding.UTF8.GetBytes(xmlstring);
MemoryStream ms = new MemoryStream(buffer);
XmlTextReader xmlReader = new XmlTextReader(ms);
XmlSerializer formatter = new XmlSerializer(typeof(MyObject));
MyObject obj = (MyObject)formatter.Deserialize(xmlReader);
xmlReader.Close();
return obj;
}
#endregion

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐