DOM и вообще обработка на базе дерева имеет несколько преимуществ. Во-первых, поскольку дерево сохраняется в памяти, оно может быть модифицировано, так что приложение может делать изменения в данных и в структуре. Оно также может в сколько угодно двигаться вверх и вниз по дереву, в отличие от одного прохода SAX. DOM также может быть гораздо проще в применении.
С другой стороны, построение таких деревьев в памяти включает в себя много накладных расходов. Не так уж необычно, если большие файлы полностью перекрывают возможности системы. Кроме того, создание дерева DOM может быть очень медленным процессом.