阅读量:1
在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文件的扩展名。