Pubblicando il mio commento come risposta, poiché ha risolto il problema e potrebbe essere utile ad altri che hanno difficoltà a utilizzare il xml-stream
pacchetto in questo modo.
In questione, il collect
il metodo sta causando il problema poiché costringe il parser a raccogliere tutte le istanze del nodo elaborato in un array mentre vengono analizzate. collect
dovrebbe essere usato solo per raccogliere elementi figlio di un certo tipo da ogni nodo che viene analizzato. Il comportamento predefinito non è quello (a causa della natura di streaming del parser che ti consente di elaborare facilmente file di più gigabyte).
Quindi la soluzione era rimuovere quella riga di codice e utilizzare semplicemente endElement
evento.