C#.Net 持久化对象为XML文件
C#.Net 持久化对象为XML文件
MyXmlSerializer.cs 文件内容:
使用方法:
MyXmlSerializer.cs 文件内容:
C# Code:
/// <summary>
/// 持久化对象为XML文件
/// </summary>
public class MyXmlSerializer
{
/// <summary>
/// 序列化对象
/// </summary>
/// <param name="o">对象</param>
/// <param name="outFile">持久化对象文件</param>
/// <returns></returns>
public static bool Serialize(object o, string outFile)
{
using (StringWriter sw = new StringWriter())
{
XmlSerializer xz = new XmlSerializer(o.GetType());
xz.Serialize(sw, o);
File.WriteAllText(outFile, sw.ToString(), Encoding.UTF8);
}
return true;
}
/// <summary>
/// 反序列化为对象
/// </summary>
/// <param name="type">对象类型</param>
/// <param name="s">持久化对象文件</param>
/// <returns></returns>
public static object Deserialize(Type type, string file)
{
string content = File.ReadAllText(file);
using (StringReader sr = new StringReader(content))
{
XmlSerializer xz = new XmlSerializer(type);
return xz.Deserialize(sr);
}
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// 持久化对象为XML文件
/// </summary>
public class MyXmlSerializer
{
/// <summary>
/// 序列化对象
/// </summary>
/// <param name="o">对象</param>
/// <param name="outFile">持久化对象文件</param>
/// <returns></returns>
public static bool Serialize(object o, string outFile)
{
using (StringWriter sw = new StringWriter())
{
XmlSerializer xz = new XmlSerializer(o.GetType());
xz.Serialize(sw, o);
File.WriteAllText(outFile, sw.ToString(), Encoding.UTF8);
}
return true;
}
/// <summary>
/// 反序列化为对象
/// </summary>
/// <param name="type">对象类型</param>
/// <param name="s">持久化对象文件</param>
/// <returns></returns>
public static object Deserialize(Type type, string file)
{
string content = File.ReadAllText(file);
using (StringReader sr = new StringReader(content))
{
XmlSerializer xz = new XmlSerializer(type);
return xz.Deserialize(sr);
}
}
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
使用方法:
C# Code:
/// <summary>
/// 获取历史记录, 反序列化
/// </summary>
/// <returns></returns>
public static VersionHistory GetVersionHistory()
{
string versionFile = Application.StartupPath XML_FILE;
if (File.Exists(versionFile))
{
object o = MyXmlSerializer.Deserialize(typeof(VersionHistory), versionFile);
return o as VersionHistory;
}
else
return new VersionHistory();
}
/// <summary>
/// 保存历史记录,序列化
/// </summary>
public void Save()
{
string versionFile = Application.StartupPath XML_FILE;
MyXmlSerializer.Serialize(this, versionFile);
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// 获取历史记录, 反序列化
/// </summary>
/// <returns></returns>
public static VersionHistory GetVersionHistory()
{
string versionFile = Application.StartupPath XML_FILE;
if (File.Exists(versionFile))
{
object o = MyXmlSerializer.Deserialize(typeof(VersionHistory), versionFile);
return o as VersionHistory;
}
else
return new VersionHistory();
}
/// <summary>
/// 保存历史记录,序列化
/// </summary>
public void Save()
{
string versionFile = Application.StartupPath XML_FILE;
MyXmlSerializer.Serialize(this, versionFile);
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网