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();
}
}
}
}