Olá pessoal,
Estou utilizando JDOM para ler um arquivo xml, porém não consigo encontrar uma forma de pesquisar um elemento através do seu atributo.
Não queria ter que montar uma lista com os elementos, e percorrer até achar. Queria uma pesquisa instantânea.
Alguém pode ajudar? O XStream pode fazer isso?
File f = new File("books.xml");
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(f);
Element root = doc.getRootElement();
Element element = root.getChild("book"); /* no caso ele retorna o primeiro elemento "book" mas gostaria de encontrar, por exemplo, o book com id=2 */
Book book = new Book();
book.setTitle(element.getChildText("title"));
book.setAuthor(element.getChildText("author"));
<books>
<book id="1">
<title>JDOM Tutorial</title>
<author>Deitel</author>
</book>
<book id="2">
<title>Using XStream</title>
<author>Freeman</author>
</book>
<book id="3">
<title>XML and Java</title>
<author>Martin</author>
</book>
</books>