using System;
using System.IO;
using System.Xml.Serialization;
namespace WWPipeLine.Commons.SerializeHelper
{
///
/// Xml 序列化和反序列化类
///
public class XmlHelper
{
///
/// 序列化对象为XML文件
///
/// 序列化对象
/// 序列化文件路径
/// 序列化对象
///
public static bool SerializedToXml(string fileName, T t)
{
try
{
Type paramType = t.GetType();
XmlSerializer xmls = new XmlSerializer(paramType);
using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
{
xmls.Serialize(fs, t);
}
return true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("Serialize xml Error:" + ex.ToString());
return false;
}
}
///
/// 反序列化对象
///
/// 反序列化的对象
/// 反序列化文件的路径
/// 反序列化出来的路径
///
public static bool DeSerializedFromXml(string fileName, ref T t)
{
try
{
Type paramType = t.GetType();
XmlSerializer xmls = new XmlSerializer(paramType);
using (FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
t = (T)xmls.Deserialize(fs);
}
return true;
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("DeSerialize xml Error:" + ex.ToString());
return false;
}
}
}
}