2013-05-21 3 views
3

Мне любопытно, что за плюсы и минусы этих двух, DOM и XPath. Что XPath обеспечивает, что DOM не делает, и наоборот? Я не ищу производительности или что-то в этом роде, просто в чем основное отличие между ними, когда речь заходит о навигации? Когда DOM лучше использовать, чем XPath?DOM против XPath - разница?

Спасибо.

+1

Возможно, вы имели в виду DOM и SAX? См. [Здесь] (http://stackoverflow.com/questions/6828703/difference-about-sax-and-dom) для сравнения. Если вы можете рассматривать DOM как свою базу данных, XPath может быть SQL. –

ответ

11

Они скорее дополняют друг друга, чем конкурируют. DOM предоставляет древовидную модель XML с возможностью навигации на низком уровне (получить первого ребенка, получить следующий брат и т. Д.); XPath добавляет гораздо более высокий уровень поиска и навигации (например, получить среднюю цену за все книги, получить название последней главы).

Обратите внимание, что DOM - это всего лишь одна древовидная модель для XML и очень далека от того, чтобы быть лучшими: это первое и худшее, и стыдно, что так много людей все еще используют его. В мире Java есть гораздо лучшие дизайны, такие как JDOM и XOM.