DOM и SAX - это «способы анализа данных».DOM анализирует весь документ и создает структуру данных.SAX анализирует документ «элемент за элементом», давая вам знать, когда он сталкивается с чем-то интересным, и ожидает, что вы с ним справитесь.
XPath - это способ ссылки на данные в документе DOM, как только он у вас есть.То есть, говоря «первый узел» и т. Д. Он очень мощный и замечательный, но не используется для синтаксического анализа.
Что касается простоты использования, DOM намного превосходит его.Однако во многих случаях он работает намного медленнее и занимает гораздо больше памяти.
Для меня все, что я рассматриваю, основано на том, повлияет ли медлительность и увеличение объема памяти при использовании DOM на мое приложение:
- Разбираю ли я очень большие документы?
- Разбираю ли я много-много вещей?
- Имеет ли значение скорость на самом деле?
Также стоит отметить, что, если вы решите использовать DOM, убедитесь, что выисследовать, какие библиотеки там.Плохая библиотека может быть в 10-100 раз медленнее хорошей.