Как сериализовать объект в xml и сжать в памяти

В моем приложении мне нужно сериализовать большой объект в строку xml. Но затем сериализованное исключение System.OutOfMemory. Как я могу сериализовать объект без исключения и с сжатием?

public static string GenerateXMLData<t>(T data) { byte[] bytes; using (var memoryStream = new MemoryStream()) { using (var gZipStream = new GZipStream(memoryStream, CompressionMode.Compress)) { BinaryFormatter binaryFormatter = new BinaryFormatter(); binaryFormatter.Serialize(gZipStream, data); } bytes = memoryStream.ToArray(); } return Encoding.UTF8.GetString(bytes); }
</t>
1 ответ

есть много хороших answeers здесь, в stackoverflow, которые можно получить через быстрый поисковый запрос Google, вот один, который я нашел

Сериализация объекта в XML

и еще один, что я должен был использовать некоторое время назад

Как сделать сериализуемый класс, содержащий экземпляр одного класса из набора классов

надеюсь, что это поможет спариться :)

licensed under cc by-sa 3.0 with attribution.