Bem caros colegas, eu estou querendo pegar um objeto e salvar ele em xml, ai o que acontece, eu estou instanciando essa classe em um JSP e eu quero que ele salve o objeto para XML, caso tenha um meio mais facil também eu estou aberto a sujestões
public class DemoXml {
public void conecta()throws Exception {
Aluno a = new Aluno();
OutputStream outputStream = new FileOutputStream("Arquivo.xml");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
XMLEncoder encoder = new XMLEncoder(bufferedOutputStream);
encoder.writeObject(a);
encoder.close();
bufferedOutputStream.close();
outputStream.close();
}
}
Olhe essa API, http://xstream.codehaus.org/
Acredito que com ela você irá fazer exatamente o que você quer e de um jeito SUPER simples
O lance, é que o modo com que o dados do objeto estão em vetores salvar os dados no banco de dados iria exigir uma arquitetura de tabela e tal, então pensei que eu poderia salvar o objeto em um arquivo XML pois dentro do objeto os dados estariam dentro dos vetores facilitando a ultilização pelo programa. Então eu quero dar o objeto e esse objeto ser salvo em um arquivo com extenção XML e depois precisarei ler de volta esses dados.
Ai tudo bem o Xstream passa o objeto para xml mas não tem aqui ( ou eu não achei ) o método que salva essa xml em um arquivo no HD e essa parte de salvar no HD é muito importante para mim…
Você salva o seu objeto no “HD” como qualquer outro arquivo, através do BifferedWriter por exemplo.
Se você já tem seu objeto String no formato de XML, apenas salve ele, algo assim
String myXML = xstream.toXML(myPOJO);
BufferedWriter writer = new BufferedWriter(new FileWriter("myFile.xml"));
writer.write(myXML); //salva fisicamente
writer.close();
Cara, você pode usar além do XStream como já citados acima. O JAXB da Sun que tb é muito bom.
Ambos facilicitaram muito sua vida.
Se estiver com dúvidas de como usar é só falar
Mas não tem que informar o caminho do arquivo exemplo c:\arquivos\doc.xml sendo dessa forma ae aonde o arquivo vai parar dentro do HD?
Mas é isso mesmo que eu quero galera já estão me ajudando muitão !!!