如何将对象序列化为xml并在内存中压缩

本文关键字:内存 压缩 xml 对象 序列化 | 更新日期: 2023-09-27 17:59:28

在我的应用程序中,我需要将大型对象序列化为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);
    }

如何将对象序列化为xml并在内存中压缩

stackoverflow上有很多不错的answeer,可以通过谷歌快速搜索来访问。这里是我找到的

将对象序列化为XML

另一个是我不得不使用一段时间后的

如何制作一个包含一组类中一个类的实例的可序列化类

希望它能帮助伴侣:)