Если бы я столкнулся с этой проблемой, я бы решил ее одним из двух способов:
1) Если бы мне нужно было только один раз выполнить поиск элементов, чтобы найти элемент с определенным значением атрибута, я бы сделал простой поиск. Преимущество (и недостаток) JDOM заключается в том, что он помещает весь документ в память, поэтому поиск по элементам очень быстрый, даже если в нем много элементов. Даже если вы используете XPath (и я признаю, что незнаком с ним, но предыдущий ответ показался мне поучительным), скорее всего, они будут делать то же самое, поэтому это решение, вероятно, не менее эффективно. В целом, использование готовых решений может избавить вас от необходимости писать код (хотя в этом случае ваш собственный код будет довольно маленьким), но обычно они не более эффективны и зачастую менее эффективны, поскольку вы используете обобщенное решение, которое не специально для ваших нужд.
2) Если бы мне нужно было выполнить несколько поисков, я бы построил HashMap, где ключом было значение атрибута.
Если вы считаете, что какое-либо из этих решений имеет свои достоинства, но у вас есть дополнительные вопросы или вам нужен пример кода, пожалуйста, напишите мне для получения дополнительной информации.