Olá pessoal, gostaria de uma ajuda para importar um arquivo XML gerado pelo MS Excel por meio da macro (VBA), pois quando eu gero o arquivo XML pelo java eu consigo carregar para meu objeto "Pedido" normalmente, mas quando eu vou carregar o arquivo gerado pelo Excel me retorna um erro e não consigo carregar as informações para o meu objeto.
O problema é que o meu programa precisa carregar o XML gerado pelo Excel, que será enviado pelos clientes.
Arquivo gerado pelo Java (XStream-1.4.2 e dom4j-1.6.1):- <pedido>
- <cliente>
<clienteId>589</clienteId>
</cliente>
- <itens>
- <item>
<produtoId>330</produtoId>
<descricao>EMB 84 PÇS EM CX PAP</descricao>
<quantidade>100.0</quantidade>
<desconto>49.4</desconto>
</item>
- <item>
<produtoId>708331/01</produtoId>
<descricao>CONC LIGHT LARANJA</descricao>
<quantidade>133.0</quantidade>
<desconto>44.0</desconto>
</item>
</itens>
</pedido>
Arquivo gerado pelo MS Excel 2003 por macro VBA:
- <pedido>
- <cliente>
<clienteId>589</clienteId>
</cliente>
- <itens>
- <item>
<produtoId>330</produtoId>
<descricao>EMB 84 PÇS EM CX PAP</descricao>
<quantidade>100.0</quantidade>
<desconto>49.4</desconto>
</item>
- <item>
<produtoId>708331/01</produtoId>
<descricao>CONC LIGHT LARANJA</descricao>
<quantidade>133.0</quantidade>
<desconto>44.0</desconto>
</item>
</itens>
</pedido>
Mensagem de erro ao carregar o XML gerado pelo Excel:
Exception in thread "AWT-EventQueue-0" com.thoughtworks.xstream.converters.ConversionException: For input string: "
589 " : For input string: "
589 "
---- Debugging information ----
message : For input string: "
589 "
cause-exception : java.lang.NumberFormatException
cause-message : For input string: "
589 "
class : java.lang.Integer
required-type : java.lang.Integer
converter-type : com.thoughtworks.xstream.converters.SingleValueConverterWrapper
wrapped-converter : com.thoughtworks.xstream.converters.basic.IntConverter
path : /pedido/cliente/clienteId
xpath : /pedido/cliente/clienteId
class[1] : classes.Cliente
converter-type[1] : com.thoughtworks.xstream.converters.reflection.ReflectionConverter
class[2] : classes.Pedido
version : null
Agora eu não entendo, pois mesmo os arquivos sendo idênticos um dá erro e o outro não, se alguém ouder me ajudar eu agradeço.
Classes:public class Cliente{
private int clienteId;
private String Nome;
//getters and setters
}
public class Cotacao {
private int pedidoID;
private Cliente cliente;
private List<Item> item;
private String status;
private String usuario;
//getters and setters
}
public class Item {
private int numLinha;
private int itemId;
private String produtoId;
private String descricao;
private double quantidade;
private double desconto;
//getters and setters
}
Obrigado