Olá pessoal!
Consegui gerar um XML, porém tenho uma classe persistente Cliente, que tem seus dados incluídos. Só consigo gerar um cliente, e como todo relatório deveria apresentar mais de um dado. Ja tente em diversas maneiras mas não adiantou, segue abaixo o modelo com somente um nó…
ClienteTO
/*
* FornecedorTO.java
*
* Created on 4 de Agosto de 2006, 14:44
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
import com.thoughtworks.xstream.XStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Comment;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
import org.w3c.dom.DocumentType;
import org.w3c.dom.Node;
import org.w3c.dom.ProcessingInstruction;
import org.w3c.dom.Text;
import java.util.*;
/**
*
* @author ccarvalho
*/
public class ClienteTO{
private String id;
private String nome;
private String pessoa;
private String cnpjCpf;
private String ieRg;
private String endereco;
private String bairro;
private String cep;
private String cidade;
private String uf;
private String pais;
private String telefone;
private String celular;
private String email;
public ClienteTO(){
}
public ClienteTO(String nome, String pessoa, String cnpjCpf,
String ieRg, String endereco, String bairro, String cep,
String cidade, String uf, String pais, String telefone,
String celular, String email){
this.nome = nome;
this.pessoa = pessoa;
this.cnpjCpf = cnpjCpf;
this.ieRg = ieRg;
this.endereco = endereco;
this.bairro = bairro;
this.cep = cep;
this.cidade = cidade;
this.uf = uf;
this.pais = pais;
this.telefone = telefone;
this.celular = celular;
this.email = email;
}
public ClienteTO(String id){
this.id = id;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getPessoa() {
return pessoa;
}
public void setPessoa(String pessoa) {
this.pessoa = pessoa;
}
public String getCnpjCpf() {
return cnpjCpf;
}
public void setCnpjCpf(String cnpjCpf) {
this.cnpjCpf = cnpjCpf;
}
public String getIeRg() {
return ieRg;
}
public void setIeRg(String ieRg) {
this.ieRg = ieRg;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getBairro() {
return bairro;
}
public void setBairro(String bairro) {
this.bairro = bairro;
}
public String getCep() {
return cep;
}
public void setCep(String cep) {
this.cep = cep;
}
public String getCidade() {
return cidade;
}
public void setCidade(String cidade) {
this.cidade = cidade;
}
public String getUf() {
return uf;
}
public void setUf(String uf) {
this.uf = uf;
}
public String getPais() {
return pais;
}
public void setPais(String pais) {
this.pais = pais;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getCelular() {
return celular;
}
public void setCelular(String celular) {
this.celular = celular;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public void createXml() {
Funcionario func = new Funcionario();
func.add(new ClienteTO( getNome(), getPessoa(), getCnpjCpf(),
getIeRg(), getEndereco(), getBairro(), getCep(), getCidade(),
getUf(), getPais(), getTelefone(), getCelular(), getEmail() ));
XStream xstream = new XStream();
xstream.alias("funcionario", Funcionario.class);
xstream.alias("cliente", ClienteTO.class);
xstream.addImplicitCollection(Funcionario.class, "clientes");
String xml = xstream.toXML(func);
try {
PrintWriter saida = new PrintWriter(new FileOutputStream("C:\arquivo.xml"));
saida.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<?xml-stylesheet type=\"text/xsl\" " +
"href=\"http://localhost:8080/aula2/arquivo.xsl\"?>\n");
saida.println(xml);
saida.flush();
saida.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
ClienteAction
import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ClienteAction extends HttpServlet
{
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException
{
res.setContentType("text/html");
PrintWriter out = res.getWriter();
// Captura o botão pressionado
String operacao = req.getParameter("operacao");
//Operação de Consultar Todos
if (operacao.equals("Gerar XML")){
try{
// Cria um objeto da classe de negócio Aluno.
ClienteTO cliente = new ClienteTO();
// executa a consulta.
String id = req.getParameter("id");
String nome = req.getParameter("nome");
String pessoa = req.getParameter("pessoa");
String cnpjCpf = req.getParameter("cnpjCpf");
String ieRg = req.getParameter("ieRg");
String endereco = req.getParameter("endereco");
String bairro = req.getParameter("bairro");
String cep = req.getParameter("cep");
String cidade = req.getParameter("cidade");
String uf = req.getParameter("uf");
String pais = req.getParameter("pais");
String telefone = req.getParameter("telefone");
String celular = req.getParameter("celular");
String email = req.getParameter("email");
cliente.setId(id);
cliente.setNome(nome);
cliente.setPessoa(pessoa);
cliente.setCnpjCpf(cnpjCpf);
cliente.setIeRg(ieRg);
cliente.setEndereco(endereco);
cliente.setBairro(bairro);
cliente.setCep(cep);
cliente.setCidade(cidade);
cliente.setUf(uf);
cliente.setPais(pais);
cliente.setTelefone(telefone);
cliente.setCelular(celular);
cliente.setEmail(email);
cliente.createXml();
RequestDispatcher dispatcher =
getServletContext().getRequestDispatcher("/mostrarXml.jsp");
dispatcher.forward(req, res);
}catch(Exception e) {
out.println("Erro: " + e.getMessage());
}
}
}
}
Funcionario
import java.util.ArrayList;
import java.util.List;
/**
*
* @author ccarvalho
*/
public class Funcionario {
private ClienteTO cliente;
private List clientes = new ArrayList();
public Funcionario() {
}
public void add(ClienteTO cliente) {
clientes.add(cliente);
}
}
Como gerar mais de um…???