将XDocument保存到zip文件中而不会耗尽内存

wind

我有一个相当大的XDocument,我试图将其保存到ZipArchive。下面的代码对我有用,但是由于对我可用的内存量的限制,在调用catalogXDocument.ToString()时,它失败并显示OutOfMemoryException。

有什么方法可以将XDocument保存到ZipArchive而不需要将所有内容都保存在内存中吗?

码:

public Stream Zip(XDocument catalogXDocument)
{
    MemoryStream memoryStream = new MemoryStream();

    using (var archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
    {
        var catalogFile = archive.CreateEntry("Catalog.xml");

        using (var entryStream = catalogFile.Open())
        using (var streamWriter = new StreamWriter(entryStream))
        {
            streamWriter.Write(catalogXDocument.ToString());
        }
    }

    memoryStream.Seek(0, SeekOrigin.Begin);
    return memoryStream;
}
雷纳特

这可能起作用:

using (var entryStream = catalogFile.Open())
{
    catalogXDocument.Save(entryStream);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将网址保存到文件并保存在内存中

来自分类Dev

将zip文件条目保存到列表中

来自分类Dev

将.zip文件保存到SQL Server中的BLOB

来自分类Dev

将python中的zip文件保存到磁盘

来自分类Dev

在 PHP 中读取/下载大文件而不会耗尽内存

来自分类Dev

stringbuiler将内存保存到CSV文件

来自分类Dev

将XDocument保存到正文时HttpWebRequest中的奇怪行为

来自分类Dev

将“ XStream”保存并XDocument到文件中

来自分类Dev

将网址保存到文件并将其保存在内存中

来自分类Dev

如何在不先将位图保存到文件系统的情况下将内存中的位图保存到ZipArchive?

来自分类Dev

如何将内存中的BitmapImage保存到WPF C#中的文件中?

来自分类Dev

将文件保存到内存/虚拟文件C#

来自分类Dev

将文件构建并保存到内存中并加密(C#、WPF、LINQ)

来自分类Dev

如何将文件(在 node.js 中)从内存保存到磁盘上的特定位置?

来自分类Dev

Xamarin 不会耗尽内存

来自分类Dev

将exec输出保存到文件中

来自分类Dev

将文件中的行保存到列表

来自分类Dev

将List <>保存到.txt文件中

来自分类Dev

将数据保存到Qt中的文件

来自分类Dev

将exec输出保存到文件中

来自分类Dev

将结构保存到文件中

来自分类Dev

将php文件保存到变量中

来自分类Dev

将LibreOffice中的文件保存到.pdf

来自分类Dev

将数据从 UDP 保存到文件中

来自分类Dev

Javascript-保存到磁盘的文件被卡在Chrome的内存中

来自分类Dev

Maven:zip资源并保存到特定文件夹中

来自分类Dev

如何用PHP输出海量文件而不会耗尽内存

来自分类Dev

生成站点地图不会将文件保存到存储中

来自分类Dev

Shell脚本(在Crontab中):将内存打印保存到文本文件中始终为空白

Related 相关文章

热门标签

归档