Если вы заинтересованы в производительности, то могут существовать древовидные модели, которые работают намного быстрее, чем DOM (например, если вы работаете в мире Java, XOM), и которые также предлагают гораздо лучшее удобство использования.
XPath - это язык высокого уровня, DOM API гораздо ниже. Следовательно, основное отличие заключается в производительности программиста, простоте обслуживания и т. Д. Что касается производительности, язык высокого уровня обычно будет медленнее, чем программист высшего класса, пишущий супероптимизированный код с интерфейсом более низкого уровня, но быстрее, чем в среднем программист пишет средний код в срок.