DOM обеспечивает богатый набор функций, которые вы можете использовать для интерпретации XML-документа и манипулирования им, но за эти функции надо платить.
Когда была разработана исходная DOM для XML-документов, многие люди в списке рассылки XML-DEV выразили беспокойство по поводу ее:
DOM строит в памяти дерево всего документа. Если документ очень большой, это требует значительного объема памяти.
DOM создает объекты, которые представляют все, что есть в исходном документе, включая элементы, текст, атрибуты и пропуски. Если вам нужно иметь дело только с небольшой порцией исходного документа, то крайне расточительно создавать все эти объекты, которые никогда не будут использованы.
Парсер DOM должен прочитать весь документ прежде, чем ваш код получит управление. Для очень больших документов это может привести к значительной задержке.
Это только спорные вопросы, возникшие при проектировании DOM; несмотря на это, API DOM является очень удобным способом для разбора XML-документов.