Это, безусловно, зависит от того, что именно вы делаете. Я предполагаю, что вы хотите извлечь данные из документов XML. Если это так, xpath может работать нормально, но лично мне все еще нравится связывание данных: читать XML, связываться с объектами java, получать данные через обычные методы доступа Bean / POJO.
Или, что еще лучше, если вы используете ORM, привязка к / от объектов, которые может использовать ORM (например, hibernate).
За привязку datd я бы проголосовал за JAXB или XStream . Я бы использовал любую альтернативу DOM, если бы использовался xpath.