Eu estou tentando passar um objeto pra minha lista e a partir da lista converter todos os objetos dentro dela em XML, quando eu tento converter um objeto direto sem passar para a lista sempre da certo, agora quando eu mudo e tento converter os objetos contidos na lista não consigo.
O problema maior é que eu preciso receber mais de um objeto no mesmo XML.
public class XML {
Produtos pecas = new Produtos();
File file= new File("file.xml");
ListaLigada lista= new ListaLigada();
public void Inserir(){
Scanner in = new Scanner(System.in);
int sair=1;
while(sair!=0){
System.out.println("Digite o codigo da peça:");
pecas.setCodigo(in.next());
System.out.println("Digite o nome da peça:");// tem que fazer um to String
pecas.setNome(in.next());
System.out.println("Digite a marca da peça:");
pecas.setLinha(in.next());
System.out.println("Digite o Preco de Custo da peça:");
pecas.setPrCusto(in.nextDouble());
System.out.println("Digite o Preco de venda da peça:");//fazer o calculo apartir do preço de custo.
pecas.setPrVenda(in.nextDouble());
System.out.println("Digite a Quantidades:");
pecas.setQuantidade(in.nextInt());
lista.adiciona(pecas);
System.out.println("\ndigite 0 para sair ou 1 pra continuar");
sair=in.nextInt();
}
//escrevendo o XML
try{
JAXBContext jaxbContext = JAXBContext.newInstance(ListaLigada.class);
Marshaller jaxbMars = jaxbContext.createMarshaller();
//output
jaxbMars.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
jaxbMars.marshal(lista, file);
jaxbMars.marshal(lista, System.out);
}catch(JAXBException e){
e.printStackTrace();
}
}
Essa é parte da minha lista
[code]public class ListaLigada {
private Celula primeira;
private Celula ultima;
private int totalDeElementos;
//adicona no fim
public void adiciona(Object elemento){
if(this.totalDeElementos==0){
this.adicionaNoComeco(elemento);
}else{
Celula nova = new Celula(elemento);
this.ultima.setProxima(nova);
this.ultima = nova;
this.totalDeElementos++;
}
}
[/code]
Esse é meu objeto que eu quero transformar em xml.
@XmlRootElement(name = "Produtos")
public class Produtos {
private String codigo;
private String nome;
private String linha;
private double prCusto;
private double prVenda;
private int quantidade;
@XmlElement(name="Codigo")
public String getCodigo() {
return codigo;
}
public void setCodigo(String codigo) {
this.codigo = codigo;
}
@XmlElement(name="Peca")
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
@XmlElement(name="Marca")
public String getLinha() {
return linha;
}
public void setLinha(String linha) {
this.linha = linha;
}
@XmlElement(name="Custo")
public double getPrCusto() {
return prCusto;
}
public void setPrCusto(double prCusto) {
this.prCusto = prCusto;
}
@XmlElement(name="Venda")
public double getPrVenda() {
return prVenda;
}
public void setPrVenda(double prVenda) {
this.prVenda = prVenda;
}
@XmlElement(name="Quantidade")
public int getQuantidade() {
return quantidade;
}
public void setQuantidade(int quantidade) {
this.quantidade = quantidade;
}
}