Problema ao gravar objeto em XML[RESOLVIDO]

3 respostas
P

Olá pessoal,
Estou com um probleminha.
Estou fazendo um teste para gravar as informações de um objeto em XML dentro de uma pasta, porém não estou conseguindo.
Alguém poderia me ajudar?
Segue abaixo o código.

private void criarPasta(String caminho, Aluno a){
		File file = new File(caminho);
		if(file.exists()){
			throw new FIleException("Pasta ja existe" +file);
		}
		file.mkdir();
		new TesteGravacao().write(file,a);
	}
public class TesteGravacao {

	public void write(File file, Aluno a) {
		JAXBContext context = JAXBContext.newInstance("me.universi.file");
		Marshaller marshaller = context.createMarshaller();
		JAXBElement<Aluno> aux = //Aqui eu não sei o que fazer. 
		marshaller.marshal(a, file);
		
	}

}

3 Respostas

doravan

Testa aí.

public class TesteGravacao {

	public void write(File file, Aluno a) {
		JAXBContext context = JAXBContext.newInstance("me.universi.file");
		Marshaller marshaller = context.createMarshaller();
		JAXBElement<Aluno> aux = new JAXBElement<Aluno>(file, Aluno.class, null, a);
		marshaller.marshal(aux, file);
		
	}

}
P

Continua dando erro nessa linha

JAXBElement<Aluno> aux = new JAXBElement<Aluno>(file,Aluno.class, null, a);

o que ele sugere:

Change Type of ‘file’ to ‘QName’

P

Consegui resolver meu problema.
codigo abaixo

public class Main {
	public static void main(String args[]) throws JAXBException, FileNotFoundException{
		Pessoa p = new Pessoa();
		p.setNome("ana");
		p.setIdade(23);
		JAXBContext context = JAXBContext.newInstance(p.getClass().getPackage().getName());
		Marshaller m = context.createMarshaller();
		m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
		File f = new File("pessoa.xml");
		m.marshal(p, new FileOutputStream(f));
	}
}
Criado 6 de outubro de 2011
Ultima resposta 6 de out. de 2011
Respostas 3
Participantes 2