Como INSERIR em XML?

Estou desenvolvendo uma aplicação para a faculdade e como é uma aplicação relativamente pequena decidi não usar banco de dados e sim guardar os dados em arquivos XML. Para a consulta tah bem tranquilo agora estou quebrando a cabeça para conseguir armazenar um novo item nos arquivos XML :frowning:

Alguém tem algum exemplinho que possa disponibilizar ?
Fico no aguardo de uma ajuda…

Desde já obrigado ! :smiley:

Eu consegui fazer a inserção, quer dizer, quase ! :roll:

Ele substitui o meu xml anterior =[
eu queria q ele fizesse um append !
Alguém pode ajudar ??

Meu código :

package insercao;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;
import org.w3c.dom.Element;

public class Teste {

	public static void main(String[] args){
		Teste teste = new Teste();
		teste.inserir(
				"2",
				"1",
				"1;2;",
				"1;1;",
				"12/11/2006",
				"22/11/2006");
	}

	public void inserir(String id,
						String cliente,
						String titulos,
						String quantidades,
						String dtretirada,
						String dtdevolucao){

		try{ 
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder(); 
			Document doc = builder.newDocument();
			// Cria o elemento Root pessoa
			Element root = doc.createElement("locacao");
			root.setAttribute("id", id);
			// Cria o elemento nome
			Element item = doc.createElement("cliente");
			item.appendChild(doc.createTextNode(cliente));
			// anexa o elemento nome ao elemento Root
			root.appendChild(item);
			// Cria outro elemento
			item = doc.createElement("titulos");
			item.appendChild(doc.createTextNode(titulos));
			root.appendChild(item);
			item = doc.createElement("quantidades");
			item.appendChild(doc.createTextNode(quantidades));
			root.appendChild(item);
			item = doc.createElement("dtretirada");
			item.appendChild(doc.createTextNode(dtretirada));
			root.appendChild(item);
			item = doc.createElement("dtdevolucao");
			item.appendChild(doc.createTextNode(dtdevolucao));
			root.appendChild(item);
			// Adiciona o elemento root ao documento
			doc.appendChild(root);
			// Aqui começa o processo de serialização
			// imprime o documento na saída padrão
			Transformer trans = 
				TransformerFactory.newInstance().newTransformer();
			//trans.setOutputProperty(OutputKeys.STANDALONE,"yes");
			//trans.setOutputProperty(OutputKeys.ENCODING,"ISO-8859-1");
			trans.setOutputProperty(OutputKeys.INDENT,"yes");
			
			trans.transform(new javax.xml.transform.dom.DOMSource(doc),
					new StreamResult(new File("xml/cadastro.xml")));
		}catch (Exception ex){
			ex.printStackTrace();
		}
	}

}