Как сериализовать объект в 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.