/// <summary>
/// 将obj序列化为xml(obj->xml)
/// </summary>
/// <param name="filePath">序列化为xml后保存的物理路径</param>
/// <param name="obj">被序列化的对象</param>
/// <param name="type">被序列化对象的类型</param>
public static void SaveXml(string filePath, object obj)
{
lock (obj)
{
DirectoryInfo dir = Directory.GetParent(filePath);
if (!dir.Exists)
dir.Create();
using (System.IO.StreamWriter writer = new System.IO.StreamWriter(filePath))
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(obj.GetType());
xs.Serialize(writer, obj);
writer.Close();
}
}
}
/// <summary>
/// 将xml反序列化为对象(xml->obj)
/// </summary>
/// <param name="filePath">xml保存的物理路径</param>
/// <param name="type">反序列化成对象的类型</param>
/// <returns>返回反序列化后的对象</returns>
public static object LoadXml(string filePath, System.Type type)
{
if (!System.IO.File.Exists(filePath))
return null;
using (System.IO.StreamReader reader = new System.IO.StreamReader(filePath))
{
System.Xml.Serialization.XmlSerializer xs = new System.Xml.Serialization.XmlSerializer(type);
object obj = xs.Deserialize(reader);
reader.Close();
return obj;
}
}
asp.net xml反序列化为对象(对像序列化为xml)
最新推荐文章于 2017-08-01 10:10:29 发布