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 { } }