【发布时间】:2013-05-15 10:54:00
【问题描述】:
我正在尝试将大量数据保存到 XML 中,但文件最终会变得非常大。我搜索了压缩,但我发现的所有示例首先写入文件,然后读取它以压缩到另一个文件,以大文件和压缩文件结束,最接近删除写入然后读取的中间步骤,结束加上一个包含无扩展名文件的 zip(我可以在记事本中以 XML 格式打开)。
这就是我现在拥有的:
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
using (FileStream outFile = File.Create(@"File.zip"))
{
using (GZipStream Compress = new GZipStream(outFile, CompressionMode.Compress))
{
using (XmlWriter writer = XmlWriter.Create(Compress, settings))
{
//write the XML
}
}
}
如何使 zip 中的文件具有 XML 扩展名?
【问题讨论】:
-
你所拥有的看起来是正确的。这似乎压缩了流内。这不是它在做什么吗?顺便说一句,如果文件“非常大”,我会用记事本以外的方式打开它。
-
@harpo 在记事本中打开只是为了看看它是否写对了,但文件没有扩展名
-
问题是 zip 文件的内容包含一个名为
File的无扩展名文件。这是正确的吗? -
你不需要在“压缩包内”给它一个名字。只需通过 GZip 解压流以与压缩方式非常相似的方式对其进行解压,然后将解压后的流传递给
XmlReader等