如何在将 Xml 序列化为 GZipStream 时指定 xml 文件扩展名
本文关键字:xml 扩展名 文件 GZipStream Xml 序列化 | 更新日期: 2023-09-27 18:34:28
我正在使用以下代码序列化一个对象,该代码使用 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);
}
这工作正常,只有一个问题:用户可以用7Zip打开.gz
文件(在设置文件关联之后(,但是他不能只是双击.gz
文件中显示的xml,因为它没有.xml
扩展名(尽管内容实际上在那里,xml格式等等(。
问题是:"如何将 XML 序列化为GZipStream
以便将.xml
扩展名与文件一起保存在.gz
存档中?我正在使用 .NET 4.0。
感谢您的阅读。
我已经找到了一个简单的方法来解决这个问题。我认为,这种方式是否应该被视为黑客或务实而精细的解决方案,这取决于每个人。
只需将 GZip 文件名设置为 myFileName.xml.gz
.这实际上使内部文件显示为myFileName.xml
(像以前一样修剪掉.gz
扩展名(。
我希望这不会在未来破裂...