易采站长站为您分析C#实现对象XML序列化的方法,是C#常见的实用技巧,需要的朋友可以参考下
using system.xml;
using system.xml.serialization;
using system.text;
using system.io;
public class util
{
/// <summary>
/// 对象序列化成 xml string
/// </summary>
public static string xmlserialize<t>(t obj)
{
string xmlstring = string.empty;
xmlserializer xmlserializer = new xmlserializer(typeof(t));
using (memorystream ms = new memorystream())
{
xmlserializer.serialize(ms, obj);
xmlstring = encoding.utf8.getstring(ms.toarray());
}
return xmlstring;
}
/// <summary>
/// xml string 反序列化成对象
/// </summary>
public static t xmldeserialize<t>(string xmlstring)
{
t t = default(t);
xmlserializer xmlserializer = new xmlserializer(typeof(t));
using (stream xmlstream = new memorystream(encoding.utf8.getbytes(xmlstring)))
{
using (xmlreader xmlreader = xmlreader.create(xmlstream))
{
object obj = xmlserializer.deserialize(xmlreader);
t = (t)obj;
}
}
return t;
}
}
stringwriter,xmlserializer将对象、对象集合序列化为xml格式的字符串, 同时描述如何进行反序列化.
本文实例讲述了C#实现对象XML序列化的方法。。具体实现方法如下:
复制代码 using system;
using system.xml;
using system.xml.serialization;
using system.text;
using system.io;
public class util
{
/// <summary>
/// 对象序列化成 xml string
/// </summary>
public static string xmlserialize<t>(t obj)
{
string xmlstring = string.empty;
xmlserializer xmlserializer = new xmlserializer(typeof(t));
using (memorystream ms = new memorystream())
{
xmlserializer.serialize(ms, obj);
xmlstring = encoding.utf8.getstring(ms.toarray());
}
return xmlstring;
}
/// <summary>
/// xml string 反序列化成对象
/// </summary>
public static t xmldeserialize<t>(string xmlstring)
{
t t = default(t);
xmlserializer xmlserializer = new xmlserializer(typeof(t));
using (stream xmlstream = new memorystream(encoding.utf8.getbytes(xmlstring)))
{
using (xmlreader xmlreader = xmlreader.create(xmlstream))
{
object obj = xmlserializer.deserialize(xmlreader);
t = (t)obj;
}
}
return t;
}
}
stringwriter,xmlserializer将对象、对象集合序列化为xml格式的字符串, 同时描述如何进行反序列化.










