Использование SAXXMLReader с большими заархивированными xml-файлами

Я действительно немного удивлен, что не смог найти ответ на этот вопрос в Google. Тем более, что файлы xml поддаются заархивированию, поскольку они очень многословны.

Я реализую sax-ридер из библиотеки msxml в своей программе VB6 для чтения больших многогигабайтных xml-файлов из zip-файла. Разархивировать эти файлы на жесткий диск, а затем прочитать их — не лучший вариант, поскольку распаковка на диск не нужна и очень медленна. Вот тут и возникает моя проблема.

Я могу использовать zlib для чтения фрагментов данных из zip-файла и обработки этих фрагментов, но я не вижу способа в SAXXMLReader для обработки фрагментов. Я читал, что метод синтаксического анализа принимает IStream, но мне не удалось найти какой-либо метод с использованием Google для получения IStream из zip-файла.

Может ли кто-нибудь здесь дать мне ответ на эту проблему или указатель в правильном направлении? Большое вам спасибо за ваше время.


person dmaruca    schedule 29.07.2010    source источник


Ответы (1)


Идея получения потока из zip-файла, безусловно, такова, как я бы справился с этим в Java.

Я не разработчик .Net, поэтому мне трудно подтвердить это, но это выглядит как SharpZipLib может иметь то, что вы ищете.

person Don Roby    schedule 29.07.2010
comment
К сожалению, это .NET, и я использую более старый VB6. Если я не найду решение в ближайшее время, мне придется использовать этот метод и вызывать его из VB6 с помощью COM. - person dmaruca; 30.07.2010
comment
Нет идеи для VB6. Я кодировал VB6, но давно и никогда не стримил. - person Don Roby; 30.07.2010