国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

xml序列化與反序列化

2019-11-17 02:45:17
字體:
來源:轉載
供稿:網友

xml序列化與反序列化

  經常將對象實例序列化為xml文件,將xml反序列化為對象。隨寫成公共方法供調用。

 1 public static class XmlHelper 2     { 3         /// <summary> 4         /// 將對象保存為xml文件 5         /// </summary> 6         /// <typeparam name="T">對象類型</typeparam> 7         /// <param name="path">保存文件的路徑及文件名如“C:/test.xml”</param> 8         /// <param name="obj">要保存對象的實例</param> 9         /// <param name="xmlRootName">跟節點名</param>10         public static void EntitySaveToXml<T>(string path, T obj, string xmlRootName =null )11         {12             if (string.IsNullOrEmpty(path))13             {14                 throw new ArgumentNullException("path 不能為空!");15             }16             if (obj == null){17                 throw new ArgumentNullException("obj 不能為空!");18             }19 20             using (FileStream fs = new FileStream(path, FileMode.Create))21             {22                 var type = typeof(T);23                 var xmlSerializer = string.IsNullOrEmpty(xmlRootName) ? new XmlSerializer(type) : new XmlSerializer(type, xmlRootName);24                 xmlSerializer.Serialize(fs, obj);25                 fs.Close();26                 fs.Dispose();27             }28         }29 30         /// <summary>31         /// 將xml文件發序列化為對象32         /// </summary>33         /// <typeparam name="T">對象類型</typeparam>34         /// <param name="path">xml路徑如“C:/test.xml”</param>35         /// <param name="xmlRootName">xml根節點名</param>36         /// <returns>對象實例</returns>37         public static T XmlToEntity<T>(string path, string xmlRootName=null)38         {39             T result;40             if (File.Exists(path))41             {42                 using (StreamReader sr = new StreamReader(path))43                 {44                     var type = typeof(T);45                     var xmlSerializer = string.IsNullOrEmpty(xmlRootName) ? new XmlSerializer(type) : new XmlSerializer(type, xmlRootName);46                     result = (T)xmlSerializer.Deserialize(sr);47                     sr.Close();48                     sr.Dispose();49                 }50             }51             else52             {53                 throw new Exception("文件不存在!");54             }55             return result;56         }57     }

參考文獻

C#對象XML序列化(一):序列化方法和常用特性
c# XML序列化與反序列化

  在博客園,混跡多年從未寫過博客,今第一次寫博客,水平很差,望大牛斧正。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南昌市| 鄂托克前旗| 青铜峡市| 深水埗区| 遵义县| 灵台县| 土默特右旗| 肇州县| 托克托县| 涞水县| 巴塘县| 手游| 连云港市| 景洪市| 乐业县| 开封县| 文成县| 灵石县| 壤塘县| 古丈县| 溧阳市| 抚顺县| 新和县| 汤阴县| 翁牛特旗| 工布江达县| 宝坻区| 甘泉县| 乌苏市| 仁布县| 闸北区| 益阳市| 攀枝花市| 汉沽区| 丹巴县| 化德县| 清流县| 延安市| 绥阳县| 谢通门县| 顺义区|