gpt4 book ai didi

c# - 序列化为 XML 并压缩结果 - 如何添加 XML 文件类型?

转载 作者:太空宇宙 更新时间:2023-11-03 20:08:05 26 4
gpt4 key购买 nike

我正在使用以下方法序列化对象:

    /// <summary>
/// Serializes a file to a compressed XML file. If an error occurs, the exception is NOT caught.
/// </summary>
/// <typeparam name="T">The Type</typeparam>
/// <param name="obj">The object.</param>
/// <param name="fileName">Name of the file.</param>
public static void SerializeToXML<T>(T obj, string fileName)
{
var serializer = new XmlSerializer(typeof(T));

using (var fs = new FileStream(fileName, FileMode.Create))
{
using (var compressor = new GZipStream(fs, CompressionMode.Compress))
{
serializer.Serialize(compressor, obj);
}
}
}

一切顺利,但有一个小问题:该方法创建了一个 .zip 文件,其中包含完全没有文件扩展名的压缩 xml。我如何修改此方法,以便将正确的文件扩展名添加到压缩文件中?

例子:假设我有以下代码:

public class test
{
public string test {get; set;}
}

public void save()
{
var newTest = new test();
newTest.test = "bla";
SerializeToXML(newTest, c:\test.zip")
}

最佳答案

您可以尝试将文件 'test.zip' 重命名为 'test.xml.zip' 然后解压后 zip 扩展名将被删除,您将只有 xml .

关于c# - 序列化为 XML 并压缩结果 - 如何添加 XML 文件类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21775367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com