.net - 使用 .NET 读取压缩的 xml

标签 .net xml zip

案例:有一个很大的压缩 xml 文件需要由 .NET 程序解析。主要问题是文件太大,无法完全加载到内存中并解压缩。

文件需要逐部分读取,以便解压缩这些部分后它们“一致”。如果一个部分仅包含节点的一半,则将无法在任何 xml 结构中进行解析。

我们将不胜感激每一个帮助。 :)

编辑:当前的解决方案逐部分提取整个 zip 文件并将其作为 xml 文件写入磁盘上。然后读取并解析xml。到目前为止,我的网站还没有更好的想法:)。

最佳答案

使用 DotNetZip 您可以执行以下操作:

using (var zip = ZipFile.Read("c:\\data\\zipfile.zip"))
{
    using (Stream s = zip["NameOfXmlFile.xml"].OpenReader())
    {
        // Create the XmlReader object.
        using (XmlReader reader = XmlReader.Create(s))
        {
            while (reader.Read()) 
            {
                ....
            }
        }
    }
}

关于.net - 使用 .NET 读取压缩的 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2040824/

相关文章:

python - 监控 ZIP 文件提取 Python

c# - 序列化匿名委托(delegate)列表

Java/JRuby on Rails 与 .NET 3.5...感觉我做错了

c# - 更改 WCF Web Api HttpContext 响应

xml - 是否有支持泛型的 Delphi 对象序列化库?

c++ - zip 文件可以是稀疏的/不连续的吗?

c# - GC 的固定实例 - 无法从我的托管代码中追踪

c# - 使用 List<int> 作为参数模拟一个方法,并使用 Moq 返回 List<>

java - Android布局文件不允许&、<、>等字符

Python:将文件解压缩到当前工作目录但不维护 zip 中的目录结构