1

我想提取存档中的所有 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 文件,感谢您的帮助。

4

1 回答 1

1

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);
 } 
于 2012-09-10T06:08:10.747 回答