Gerar Arquivo XML

6 respostas
erickles

Olá Pessoal,

Estou desenvolvendo um sisteminha aqui, e pretendo gerar um arquivo XML. Vejam o que já fiz:

public class GeraXML {

	public static void main (String[]args){
		
		
		//Criando objeto Xtream
		XStream xstream = new XStream();
		
		Aluno erick = new Aluno();
		
		erick.setLogin("erickles");
		erick.setSenha("12345");
		
		List alunos = new ArrayList(1);
		
		alunos.add(erick);
		
		//Passando os dados do objeto para o XML
		String alunosXML = xstream.toXML(alunos);
		
		System.out.println("\nAlunos em XML");
		System.out.println(alunosXML);
		
		//Passando os dados do XML para um objeto
		
		List aprendiz = (List) xstream.fromXML(alunosXML);
		
		Aluno aluno1 = (Aluno) aprendiz.get(0);
		
		System.out.println("\nAluno:");
		System.out.println("Login:" + aluno1.getLogin());
		System.out.println("Senha:" + aluno1.getSenha());
		
	}
	
}
E um JavaBean:
package br.com.JGymD;

public class Aluno {
	
	private String login;
	private String senha;
	
	public String getLogin() {
		return login;
	}
	public void setLogin(String login) {
		this.login = login;
	}
	public String getSenha() {
		return senha;
	}
	public void setSenha(String senha) {
		this.senha = senha;
	}

}

Compilando e rodando, me traz o resultado:

Alunos em XML
<list>
  <br.com.JGymD.Aluno>
    <login>erickles</login>
    <senha>12345</senha>
  </br.com.JGymD.Aluno>
</list>

Aluno:
Login:erickles
Senha:12345

O que preciso agora é gerar um arquivo .XML. Como viram, estou usando o Xtream no projeto. Qual a melhor maneira de se fazer isso?

6 Respostas

peczenyj

vc não pode salvar a string xml em um arquivo?

erickles

É exatamente isso que preciso saber como fazer…

aix

eu tinha um problema parecido, precisava gerar um xml pra uma NF-e, tive que pagar para resolver o problema, mas o amigo Oliveira.Caio um dos poucos que quis me ajudar aqui mostrou-me uma ótima solução, mas consegui sem ter que utilizar + um jar na aplicação, mas acho que a dica dele serve pra vc, abraços.

http://www.guj.com.br/posts/list/128345.java#695015

brunocosta

Assim, como o xstream gera uma string com o xml, basta gravar um arquivo blabla.xml usando a classe FileWriter mesmo,

File f = new File("c:\\arquivo.xml"); FileWriter writer = new FileWriter(f); writer.write(xmlString);

Isso resolve? XML é só um arquivo texto puro normal…

Se vc tiver uns casos de uso mais avançados que a solução acima não resolve, tente dar uma estudada na persistence api do xstream:
http://xstream.codehaus.org/persistence-tutorial.html

Espero que isso ajude! =)

erickles

Humm legal pessoal…

Vou testar as dicas e ver no que dá.

Flwz!

Spool

Utiliza JDom e não se preocupe com a manipulação de I/O.

http://www.jdom.org/

Até.

Criado 13 de junho de 2009
Ultima resposta 14 de jun. de 2009
Respostas 6
Participantes 5