我正在使用以下代码序列化一个对象,该代码使用 GZip 和 Xml:
FileStream fs = new FileStream(destinationfolder + "/myFileName.gz",
FileMode.Create, FileAccess.Write);
using (var gz = new GZipStream(fs, CompressionMode.Compress)) {
var serializer = new XmlSerializer(typeof(MyObjectType));
serializer.Serialize(gz, myObject);
}
这很好用,只有一个问题:用户可以.gz
使用 7Zip 打开文件(在设置文件关联之后),但是他不能只是双击.gz
文件中显示的 xml,因为它没有.xml
扩展名(虽然内容实际上是存在的,xml 格式和所有)。
问题是:“如何将 XML 序列化为 aGZipStream
以便.xml
扩展名与文件一起保存在.gz
存档中?” 我正在使用.NET 4.0。
谢谢阅读。