在Java中,您可以传递类似于“zip:zip_file!xml_file”的网址,并且它将在zip文件内使用指定的XML文件。但是XmlUrlResolver没有此功能。是否有一种方法可以实现这一点?
这里有一些使用ICSharpCode.SharpZipLib的代码:
public bool Process()
{
var importFile = new FileInfo("c:\\foo\myzip.zip");
var success = true;
using (var zipStream = new ZipInputStream(importFile.OpenRead()))
{
ZipEntry theEntry;
while ((theEntry = zipStream.GetNextEntry()) != null)
{
var lowerName = theEntry.Name.ToLower();
try
{
if (lowerName.EndsWith(".xml") && !lowerName.StartsWith("__macosx"))
{
var doc = new XmlDocument();
doc.Load(zipStream);
}
}
catch (Exception e)
{
success = false;
Log.Error(string.Format("Error parsing {0} ERROR {1}",lowerName,e.Message));
}
}
}
return success;
}