Problema com o XMLEncoder

Estou com problema ao utilizar a classe XMLEncoder e XMLDecoder, pois estas classes deveriam receber um objeto e transformar ele num arquivo .xml mas este não esta funcionando com todos os objetos pois crio objetos e transformo mas ele só transforma num arquivo xml que contem o nome da classe do objeto, mas se pego objetos da api como por exemplo ArrayList ele armazena o nome da classe e também os objetos inseridos dentro dele (os atributos).
O que posso fazer para ao transformar o objeto ele capturar os atributos tb?

public void saveClientes(Object cadastro) throws  FileNotFoundException {
		XMLEncoder e = new XMLEncoder(
						  new BufferedOutputStream(
							  new FileOutputStream("xxx.xml")));
		e.writeObject(cadastro);
		e.close();
	}

JÁ tentou XStream?

Valeu Vinci esta classe é bem simples de ser usada, resolveu neu problema. :grin:
E Descobri também qual era o problema com a classe que usava antes é o objeto a ser transformado em xml precisava ser serializável.

Valew.

Hugo Feitosa.