Раньше я использовал jdom и кратко рассмотрел XOM и DOM4j. Кажется, что каждый из них предоставляет по существу одно и то же, поскольку каждый из них предоставляет упрощенную оболочку над (очень тупыми) стандартными API-интерфейсами W3C DOM.
Я знаю, что JDOM в какой-то момент приложил определенные усилия для разработки JSR и процесса стандартизации, но, насколько мне известно, эти усилия ни к чему не привели. Похоже, что весь проект находится в застое, и за последние несколько лет мало что изменилось.
Есть ли консенсус относительно того, что лучше? И каковы плюсы и минусы каждого из них?




Мне нравится XOM, потому что мне нравится, как думает Эллиотт Расти Гарольд. Из тех, что вы упомянули, я полагаю, что это тот, который больше всего отклоняется от стандартного API DOM, но я считаю это преимуществом.
Однажды я реализовал библиотеку DOM для Какао, и XOM был моим источником вдохновения.
Я тоже работал с JDOM, и в этом нет абсолютно ничего плохого, хотя я предпочитаю XOM.
Все зависит от набора функций. Если вы хотите использовать XSL Transformation Engine (например, Xalan) или XPath Engine (например, Jaxen или Saxon), я бы порекомендовал придерживаться более популярных доступных фреймворков, таких как Apache Xerces, JDOM.
После этого все дело вкуса. Я лично использую совместимые с W3C (org.w3c. *), Такие как Apache Xerces, потому что они достаточно распространены, достаточно быстрые и хорошо поддерживаются сообществом Java.
Конечно, если вам нужна невероятная скорость и вы не заботитесь о XPath, XQuery или XSL, вы наверняка найдете что-то гораздо более быстрое и / или ресурсоемкое. (т.е. реализация StAX)
Хотя dom4j - старый плеер, мы используем его некоторое время и пока не жалеем об этом. Сильные стороны: простота, поддержка xpath и другие. Слабые стороны: пока нет поддержки java 5.0, но наконец-то анонсирована версия 2.0.
Да, вы абсолютно правы насчет хороших и плохих сторон dom4j. Однако мне кажется, что версия 2.0 никогда не выйдет. :( Этот вопрос для тех, кто устал ждать: stackoverflow.com/questions/831865/… (на самом деле не так уж и далеко от этого вопроса)
XOM - это тоже мой выбор. Это просто, выдает правильный XML, а версия 1.2 только что вышла ;-)