Существует три способа анализа XML-файла: SAX, DOM и StAX.
DOM проанализирует весь файл и создаст дерево в памяти - отлично подходит для небольших файлов, но очевидно, что если оно огромно, вам не нужно, чтобы все дерево просто сидело в памяти! SAX основан на событиях - он ничего не загружает в память как таковой, а просто запускает серию событий при чтении файла. StAX - это медиана между этими двумя значениями: приложение перемещает курсор вперед по мере необходимости, захватывая данные по мере их поступления (таким образом, отсутствие событий или большое потребление памяти).
То, что вы используете, будет зависеть от вашего приложения - все они имеют встроенные библиотеки начиная с Java 6.