Olá…
Tenho um método que utiliza um xstream para ler um arquivo com registros xml parecido com isso…claro…retirei um monte de linhas que não importam agora:
public List lerXML(String textoXML,Class classe){
xstream = new XStream(new DomDriver());
xstream.alias("mapping", Vector.class);
xstream.alias(classe.getSimpleName(), classe);
List lstRegistros = (List) xstream.fromXML(textoXML);
return lstRegistros;
}
Esse método, resumidamente, le o texto xml extraído de um arquivo e transforma num list de objetos para mim poder armazenar no bd do sistema
Meu problema é que cheguei num ponto do sistema em que tenho que fazer uma rotina que le vários arquivos, e não sem como fazer para reconhecer se o arquivo é de produto, por exemplo, de cliente para gerar um class para passar como argumento para o método.
Assim… tenho uma pasta chamada recepcao, onde lá conterá vários arquivos, cada arquivo possui o nome da tabela do bd que devo inserir os dados de dentro dele…
ex: produto.xml é para inserir os dados na tabela do bd de produto, assim por diante…
como eu faço para gerar um Produto.class para passar como argumento para meu método lerXML sem fazer um punhado de ifs para cada tabela do bd?
pois recebo vários arquivos…ex: cliente.xml produto.xml, pedido.xml itempedido.xml…etc…
prescisaria de algo que pegasse o nome do arquivo e conseguisse instanciar o bean dele… pois os beans são os mesmos nomes dos arquivos também…
