[XStream] Gerar XML

Olá pessoal!
Bom Dia!

Baixei um tutorial aqui do GUJ sobre XML. Até consegui gerar o arquivo de um único item, aí tentei incorporar o exemplo em meu projeto mas o XML está saindo errado:

- <bean.Cliente-array>
- <bean.Cliente>
  <CliCod>000210</CliCod> 
  <CliLoja>01</CliLoja> 
  <CidCod>7143</CidCod> 
  <UsuCod>999</UsuCod> 
  <CliNome>RENATA A. DE FARIA</CliNome> 
  <CliLimiteCred>5000.0</CliLimiteCred> 
  <CliTituloAberto>0.0</CliTituloAberto> 
  <CliCondPag>21D</CliCondPag> 
  <CliMediaAtraso>7.31</CliMediaAtraso> 
  </bean.Cliente>
  <bean.Cliente reference="../bean.Cliente" /> 
  <bean.Cliente reference="../bean.Cliente" /> 
  <bean.Cliente reference="../bean.Cliente" /> 
  <bean.Cliente reference="../bean.Cliente" /> 
  <bean.Cliente reference="../bean.Cliente" /> 

O que ocorre é que somente o primeiro cliente no XML está saindo, depois dele aparece este “reference”. Segue abaixo o código de meu projeto:

            rs=ps.executeQuery();
            
            while (rs.next()){
                cli.setCliCod(rs.getString("CliCod"));
                cli.setCliLoja(rs.getString("CliLoja"));
                cli.setCidCod(rs.getString("CidCod"));
                cli.setUsuCod(rs.getString("UsuCod"));
                cli.setCliNome(rs.getString("CliNome"));
                cli.setCliLimiteCred(rs.getDouble("CliLimiteCred"));
                cli.setCliCondPag(rs.getString("CliCondPag"));
                cli.setCliMediaAtraso(rs.getString("CliMediaAtraso"));
                cli.setCliTituloAberto(rs.getDouble("CliTituloAberto"));
                al.add(cli);
            }
            
            XStream xstream = new XStream();
            String clienteXML = xstream.toXML(cli);
            
            GravaXML grava = new GravaXML();
            grava.Gravar(clienteXML);

O GravaXML:

package util;

import java.io.FileWriter;
import javax.swing.JOptionPane;

/**
 *
 * @author administrador
 */
public class GravaXML {
    public void Gravar(String texto){
        String conteudo = texto;
        try{
            // o true significa q o arquivo será constante
            FileWriter x = new FileWriter("c:\\sim.xml",true); 


            conteudo += "\n\r"; // criando nova linha e recuo no arquivo 
            x.write(conteudo); // armazena o texto no objeto x, que aponta para o arquivo 
            x.close(); // cria o arquivo 
            JOptionPane.showMessageDialog(null,"Arquivo gravado com sucesso","Concluído",JOptionPane.INFORMATION_MESSAGE);
        }
        // em caso de erro apreenta mensagem abaixo
        catch(Exception e){
            JOptionPane.showMessageDialog(null,e.getMessage(),"Atenção",JOptionPane.WARNING_MESSAGE);
        }
    }
}

Poderiam, por gentileza, me ajudar?

Desde já sou grato!

Marco Aurélio

Oi fanama,

Dá uma olhada no loop

while( rs.next() ) { }

acho que está faltando vc criar novos objetos cli, algo próximo disso aqui:

[code]
Cliente cli = null;

while( rs.next() ) {
    cli = new Cliente();   <------------------------------<<<  :!:

    cli.setCliCod(rs.getString("CliCod"));   
    cli.setCliLoja(rs.getString("CliLoja"));
    ...
    al.add(cli);   

}[/code]

Pode ser isso o problema.

Abraços

Na mosca!

Obrigado fantomas!

Uma excelente semana pra vc!

Abraço

Marco A.

Obrigado fanama, pra vc também :D.

flws