『QQ:1353814576』

C#简单而优雅的实现实体类和XML文件互相转换


C#实现实体类和XML文件转换

之前写了一个XML文件转实体 实体转XML文件的辅助类,实际使用感觉还不错就是代码繁琐了些,后面在网上找到了更优雅的代码 ,以下自己的修改版:

public static class XmlUtil  
    {  
        public static object DeserializeFromXml<T>(string xmlFilePath)  
        {  
            object result = null;  
            using (FileStream fs = new FileStream(xmlFilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))  
            {  
                XmlSerializer xs = new XmlSerializer(typeof(T));  
                result = xs.Deserialize(fs);  
                fs.Close();  
                fs.Dispose();  
            }  
            return result;  
        }  
  
        public static void SerializeToXml(object srcObject, string xmlFilePath)  
        {  
            if (srcObject != null && !string.IsNullOrEmpty(xmlFilePath))  
            {  
                var type = srcObject.GetType();  
                using (FileStream fs = new FileStream(xmlFilePath, FileMode.OpenOrCreate, FileAccess.Write, FileShare.ReadWrite))  
                {  
                    XmlSerializer xs = new XmlSerializer(type);  
                    xs.Serialize(fs, srcObject);  
                    fs.Close();  
                    fs.Dispose();  
                }  
  
            }  
        }  
    }