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