c#

c# xml文件如何压缩

小樊
101
2024-06-28 14:50:33
栏目: 编程语言

在C#中,可以使用System.IO.Compression命名空间中的类来对XML文件进行压缩。下面是一个简单的示例代码:

using System;
using System.IO;
using System.IO.Compression;
using System.Xml;

public class XmlCompression
{
    public static void CompressXmlFile(string filePath)
    {
        string compressedFilePath = filePath + ".gz";
        
        using (FileStream originalFileStream = File.OpenRead(filePath))
        {
            using (FileStream compressedFileStream = File.Create(compressedFilePath))
            {
                using (GZipStream compressionStream = new GZipStream(compressedFileStream, CompressionMode.Compress))
                {
                    originalFileStream.CopyTo(compressionStream);
                }
            }
        }
        
        Console.WriteLine("XML file compressed successfully.");
    }

    public static void DecompressXmlFile(string compressedFilePath)
    {
        string decompressedFilePath = compressedFilePath.Replace(".gz", "");

        using (FileStream compressedFileStream = File.OpenRead(compressedFilePath))
        {
            using (FileStream decompressedFileStream = File.Create(decompressedFilePath))
            {
                using (GZipStream decompressionStream = new GZipStream(compressedFileStream, CompressionMode.Decompress))
                {
                    decompressionStream.CopyTo(decompressedFileStream);
                }
            }
        }

        Console.WriteLine("XML file decompressed successfully.");
    }

    public static void Main()
    {
        string filePath = "example.xml";
        CompressXmlFile(filePath);

        string compressedFilePath = filePath + ".gz";
        DecompressXmlFile(compressedFilePath);
    }
}

在上面的示例代码中,我们定义了CompressXmlFile方法和DecompressXmlFile方法来分别压缩和解压缩XML文件。我们使用GZipStream类来实现对XML文件的压缩和解压缩操作。在Main方法中,我们先压缩XML文件,然后再解压缩已压缩的XML文件。

请注意,压缩后的文件扩展名为“.gz”,解压缩时需要将其替换为原始XML文件的扩展名。

0
看了该问题的人还看了