C#Object与XML文件或二进制文件之间的转化
Object To Xml 文件
public static bool Serializer<T>(object obj, string path) { FileStream xmlfile = new FileStream(path, FileMode.OpenOrCreate); //创建序列化对象 XmlSerializer xml = new XmlSerializer(typeof(T)); try { //序列化对象 xml.Serialize(xmlfile, obj); xmlfile.Close(); } catch (InvalidOperationException) { throw; } return true; }
Xml To Object
public static T Deserializer<T>(string path)
{
try
{
FileStream xmlfile = new FileStream(path, FileMode.Open);
XmlSerializer xml = new XmlSerializer(typeof(T));
//序列化对象
//xmlfile.Close();
T t = (T)xml.Deserialize(xmlfile);
xmlfile.Close();
return t;
}
catch (InvalidOperationException)
{
throw;
}
catch (FileNotFoundException)
{ throw; }
finally
{
}
}
Object To Bin
public static bool BinarySerializer(object obj, string path)
{
FileStream Stream = new FileStream(path, FileMode.OpenOrCreate);
//创建序列化对象
BinaryFormatter bin = new BinaryFormatter();
try
{ //序列化对象
bin.Serialize(Stream, obj);
Stream.Close();
}
catch (InvalidOperationException)
{
throw;
}
return true;
}
Bin To Object
public static T BinaryDeserializer<T>(string path)
{
try
{
FileStream binfile = new FileStream(path, FileMode.Open);
BinaryFormatter bin = new BinaryFormatter();
//序列化对象
//xmlfile.Close();
T t = (T)bin.Deserialize(binfile);
binfile.Close();
return t;
}
catch (InvalidOperationException)
{
throw;
}
catch (FileNotFoundException)
{ throw; }
finally
{
}
}
浙公网安备 33010602011771号