C# XML序列化管理
C# XML序列化编码解码
/// <summary>
/// XML序列化管理
/// </summary>
public class XmlSerializerManager
{
/// <summary>
/// 编码
/// </summary>
/// <param name="path"></param>
/// <param name="obj"></param>
public void Encode(string path, object obj)
{
XmlSerializer serializer = new XmlSerializer(obj.GetType());
string content = string.Empty;
//serialize
using (StringWriter writer = new StringWriter())
{
serializer.Serialize(writer, obj);
content = writer.ToString();
}
//save to file
using (StreamWriter stream_writer = new StreamWriter(path))
{
stream_writer.Write(content);
}
}
/// <summary>
/// 解码
/// </summary>
/// <param name="path"></param>
/// <param name="object_type"></param>
/// <returns></returns>
public object Decode(string path, Type object_type)
{
XmlSerializer serializer = new XmlSerializer(object_type);
using (StreamReader reader = new StreamReader(path))
{
return serializer.Deserialize(reader);
}
}
}