быстро не могу найти исходники те, но там был кусок что-то про XMLReader:BEGIN_ELEMENT, смотришь если он называется как начало блока и копируешь внутренности этого блока. и идешь дальше построчно в поисках следующего начала блока
возьми то что тебе скинули, библиотека так и делает, она читает до указанного тобой блока и делает callback вызов с содержимым этого блока, который может быть небольшой частью xml
—-
у все будут работать не надо в ручную парсить как строки, все пашет, памяти не жрет