Busca em XML

Seguinte pessoal estou fazendo uma aplicação para manipulação de arquivos XML, daí eu estou usando xstream, que por sinal é muito facil criar um arquivo xml, agora entra o meu problema, nesse meu arquivo eu vou ter cerca de 5000 itens, e eu gostaria de saber qual a melhor maneira de fazer uma procura dentro desse arquivo, por exemplo

minha estrutura é assim

1 1,50 000111
  <item>
                <id>  2  </id>
                <preco>1,50  </preco>
                <codigobarra> 000222  </codigobarra>
  </item>

  <item>
                <id>  3  </id>
                <preco>1,50  </preco>
                <codigobarra> 000222  </codigobarra>
  </item>

o que eu queria era por exemplo fazer uma busca quando o id é igual a 2 por exemplo dai ele me retornaria

  <item>
                <id>  2  </id>
                <preco>1,50  </preco>
                <codigobarra> 000222  </codigobarra>
  </item>

daí eu só pegaria isso e converteria para o meu bean, igual quando eu insiro, Alguem sabe se já existe alguma coisa assim ou eu vou ter que implementar tudo na mão, fiz uma pesquisa na classe xstream mas não achei nada desse tipo, outra coisa quando eu pego meu arquivo xml e faço um fromXML() ele me retorna um List, qualquer coisa ficaria até mais facil fazer pelo list, espero que alguem me ilumine com alguma ideia.