文章出處
文章列表
XML序列化與反序列化
1、將一個類轉化為XML文件
/// <summary> /// 對象序列化成XML文件 /// </summary> /// <param name="type">對象類型</param> /// <param name="obj">對象</param> /// <param name="fileName">序列化的XML文件路徑</param> public static void Serialize(Type type, object obj, string fileName) { if (File.Exists(fileName)) File.Delete(fileName); //創建流 using (var fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { //創建XML序列化器,需要指定對象的類型 var serializer = new XmlSerializer(type); //序列化執行 serializer.Serialize(fs, obj); } }
序列時,可以對類、屬性設置標記,選擇哪些屬性序列化、序列化字段別名、設置屬性是否屬于節點內屬性還是以子節點呈現等等。
2、將XML反序列為指定類對象
/// <summary> /// XML文件反序列化成對象文件 /// </summary> /// <param name="type">對象類型</param> /// <param name="fileName">反序列化的XML文件路徑</param> /// <returns>對象</returns> public static object DeSerialize(Type type, string fileName) { if (!File.Exists(fileName)) { MessageBox.Show(fileName + " File Doesn't Exist!"); } object obj; using (var fs = new FileStream(fileName, FileMode.Open)) { var serializer = new XmlSerializer(type); obj = serializer.Deserialize(fs); } return obj; }
文章列表
全站熱搜