Какой Java DOM Wrapper является лучшим или наиболее популярным?

Я использовал jdom в прошлом и кратко посмотрел на XOM и DOM4j. Кажется, что каждый из них обеспечивает практически одно и то же, поскольку каждый из них обеспечивает упрощенную оболочку над (очень тупыми) стандартными API W3C DOM.

Я знаю, что JDOM предприняла некоторые усилия для разработки JSR и процесса стандартизации в какой-то момент, но насколько я знаю, это усилие никогда никуда не уходило. В течение последних нескольких лет весь проект, по-видимому, находится в застое с небольшим новым развитием.

Есть ли консенсус относительно того, что является лучшим? И каковы плюсы и минусы каждого?

Ответ 1

Мне нравится XOM, потому что мне нравится, как думает Эллиотт Расти Гарольд. Из тех, о которых вы говорите, я верю, что это тот, который уклоняется от стандартного API DOM: s наиболее, но я считаю, что преимущество.

Я однажды внедрил библиотеку DOM для Cocoa, и XOM был моим вдохновением.

Я тоже работал с JDOM, и в этом нет ничего плохого, хотя я предпочитаю XOM.

Ответ 2

Пока dom4j является старым игроком, мы использовали его некоторое время и еще не пожалели об этом. Сильные функции: простота, поддержка xpath и другие. Слабые стороны: пока поддержка java 5.0, но версия 2.0 была наконец объявлена.

Ответ 3

Все зависит от набора функций. Если вы хотите воспользоваться механизмом трансформации XSL (например, Xalan) или движком XPath (например, Jaxen или Saxon), я бы рекомендовал придерживаться более популярной структуры, доступной как Apache Xerces, JDOM.

После этого все дело вкуса. Я лично использую W3C-совместимый (org.w3c. *), Такой как Apache Xerces, потому что они достаточно распространены, достаточно быстро и хорошо поддерживаются сообществом Java.

Конечно, если вам нужна ослепительная скорость и не заботятся о XPath, XQuery или XSL, вы можете наверняка найти что-то гораздо более быстрое и/или ресурсоемкое. (т.е. реализация StAX)