XMLReader — как обрабатывать необъявленное пространство имен

Я читаю большой сжатый XML-файл размером ~ 300 МБ с помощью XMLReader, который автоматически сбрасывается на мой сервер каждую ночь (я знаю, что это архаично ..). Он искажен, т. Е. Он имеет неопределенное пространство имен и выдает ошибку

ErrorException [Предупреждение]: ошибка пространства имен XMLReader::read(): префикс пространства имен xsi для AttrName на NodeName не определен

Каков наилучший способ справиться с этим? Кажется нецелесообразным распаковывать, загружать все это в память, заменять строку, записывать ее снова — в сжатом виде. Файл огромен.

Вся причина, по которой я использую XMLReader, заключается в том, чтобы предотвратить загрузку всего файла в память во время синтаксического анализа.

Что я должен делать??


person MeatFlavourDev    schedule 24.08.2010    source источник