В дополнение к DOM и SAX был также парсер StAX XML в мире Java. По сравнению с SAX, где вам нужно предоставить обработчик обратного вызова для определенных событий, вы управляли потоком и извлекали следующее нужное вам событие.
Есть ли что-то похожее в Python мире?