繁体   English   中英

使用DotNetZip从zip中仅提取XML文件

[英]Extract only XML files from a zip using DotNetZip

我想提取存档中的所有XML文件,我在提取文件时使用DotNetZip。

在DotNetZip的文档中,这是示例:

using (ZipFile zip = ZipFile.Read(zipArchiveName))
{
  zip.ExtractSelectedEntries("name = *.xml  and  mtime > 2009-01-15");
}

这是我的方法:

private void processButton_Click(object sender, EventArgs e)
{
    string uniquePath = string.Format(@"C:\{0}", Guid.NewGuid());
    System.IO.Directory.CreateDirectory(uniquePath);
    using (ZipFile zip = ZipFile.Read(textBox1.Text))
    {
        zip.ExtractSelectedEntries("name = *.xml");
    }
}

但它什么也没提取。 我如何使用DotNetZip提取所有xml文件,谢谢您的帮助。

uniquePath设置为当前目录,

string uniquePath = string.Format(@"C:\{0}", Guid.NewGuid());
System.IO.Directory.CreateDirectory(uniquePath);
using (ZipFile zip = ZipFile.Read(textBox1.Text))
    {
        System.IO.Directory.SetCurrentDirectory(uniquePath);
        zip.ExtractSelectedEntries("name = *.xml",,ExtractExistingFileAction.OverwriteSilently);
    }

或使用

var collections=zip.SelectEntries("name=*.xml");
foreach (var t in collections )
{
 t.Extract(uniquePath,ExtractExistingFileAction.OverwriteSilently);
 } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM