我在c#中有一个对象需要保存为文件并重复使用。
所以基本上我现在正在做的是将序列化为xml并将其保存为文件。该文件大约100MB。
现在我遇到的问题是当我想要将文件反序列化为类时,我和UpOfMemoryException。
我使用以下代码:
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(file);
Deserialize<T>(xmlDocument.InnerXml);
public static T Deserialize<T>(string xmlContent)
{
var inStream = new StringReader(xmlContent);
var ser = new XmlSerializer(typeof(T));
return (T)ser.Deserialize(inStream);
}
答案 0 :(得分:2)
以下是我的评论在代码中的样子:
public static T Deserialize<T>(string Filepath)
{
using (FileStream FStream = new FileStream(Filepath, FileMode.Open))
{
var Deserializer = new XmlSerializer(typeof(T));
return (T)Deserializer.Deserialize(FStream);
}
}