GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
XML - Ler o arquivo pronto com o XStream [RESOLVIDO]
Índice dos Fóruns
»
Java Avançado
Autor
Mensagem
04/11/2008 07:51:48
Assunto:
XML - Ler o arquivo pronto com o XStream [RESOLVIDO]
fanama
JavaTeenager
Membro desde: 21/05/2007 16:32:57
Mensagens: 176
Localização: Socorro - SP
Offline
Pessoal;
Bom dia!!
Consegui gerar um xml com o XStream:
<list> <bean.Cliente> <CliCod>000013</CliCod> <CliLoja>01</CliLoja> <CidCod>6383</CidCod> <UsuCod>033</UsuCod> <CliNome>TARCIS PAVANELLI EPP</CliNome> <CliLimiteCred>15200.0</CliLimiteCred> <CliTituloAberto>0.0</CliTituloAberto> <CliCondPag>14D</CliCondPag> <CliMediaAtraso>1.78</CliMediaAtraso> </bean.Cliente> <bean.Cliente> <CliCod>000180</CliCod> <CliLoja>01</CliLoja> <CidCod>6873</CidCod> <UsuCod>033</UsuCod> <CliNome>VALERIA VALOMINHO EPP</CliNome> <CliLimiteCred>10000.0</CliLimiteCred> <CliTituloAberto>0.0</CliTituloAberto> <CliCondPag>14D</CliCondPag> <CliMediaAtraso>4.25</CliMediaAtraso> </bean.Cliente> <bean.Cliente> <CliCod>000186</CliCod> <CliLoja>01</CliLoja> <CidCod>7017</CidCod> <UsuCod>033</UsuCod> <CliNome>DISTR. IMPERIAL LTDA </CliNome> <CliLimiteCred>31000.0</CliLimiteCred> <CliTituloAberto>0.0</CliTituloAberto> <CliCondPag>21D</CliCondPag> <CliMediaAtraso>14.71</CliMediaAtraso> </bean.Cliente> </list>
Gostaria agora de ler o XML e popular em um objeto Cliente. Outra aplicação!
Poderiam me ajudar com isso? Lí alguns tutoriais mas não fui feliz!
Abraço à todos!
Marco Aurélio
This message was edited 2 times. Last update was at 12/11/2008 13:57:00
"A boca fala do que está cheio o coração"
04/11/2008 10:23:52
Assunto:
Re:XML - Ler o arquivo pronto com o XStream
mchiareli
JavaEvangelist
Membro desde: 04/04/2006 15:14:50
Mensagens: 397
Offline
Qual código está usando para tentar ler o arquivo?
Ler é tão simples quanto gravar:
xstream.fromXml(xml)
codifica.wordpress.com
04/11/2008 11:52:27
Assunto:
Re:XML - Ler o arquivo pronto com o XStream
fanama
JavaTeenager
Membro desde: 21/05/2007 16:32:57
Mensagens: 176
Localização: Socorro - SP
Offline
Olá amigo;
Obrigado pela atenção.
Não estou usando nenhum código para ler o XML, talvez este deva ser o meu problema, como deveria fazer?
a sintaze que vc me passou:
xstream.fromXml(
xml
)
o
xml
seria uma String recebida a partir do arquivo lido?
Se puder me passar um pedaço de código de como ler o XML agradeceria.
Muito obrigado pelo dispor;
Tenha um excelente dia!
Marco A.
"A boca fala do que está cheio o coração"
04/11/2008 12:14:32
Assunto:
Re:XML - Ler o arquivo pronto com o XStream
hugov
JavaEvangelist
Membro desde: 30/08/2004 14:14:23
Mensagens: 357
Offline
Coloca o xml que você gerou dentro de uma String assim
String xml = "seu xml aqui" ;
E pronto e só utilizar qual citaram acima.
Vitor Hugo
Analista Desenvolvedor Java
WebLog :
http://emdia.wordpress.com/
Skype : hugov_br
04/11/2008 12:33:53
Assunto:
Re:XML - Ler o arquivo pronto com o XStream
fanama
JavaTeenager
Membro desde: 21/05/2007 16:32:57
Mensagens: 176
Localização: Socorro - SP
Offline
Olá Hugo;
Boa Tarde!
Obrigado pela ajuda!
Tentei fazer de duas maneiras, observando um tutorial na net e outra como compreendi depois de sua dica.
1º
try { FileInputStream stream = new FileInputStream("c:\\sim.xml"); InputStreamReader streamReader = new InputStreamReader(stream); BufferedReader reader = new BufferedReader(streamReader); XStream xstream = new XStream(); Cliente cli = (Cliente)xstream.fromXML(streamReader); } catch (Exception ex) { JOptionPane.showMessageDialog(null, ex,"Informação",JOptionPane.INFORMATION_MESSAGE); }
Neste caso dá erro: Java.util.ArrayList cannot to be cast to bean.Cliente.
2º (conforme compreendi de seu post, acho que entendi errado pois ficou muito simples)
String xml = "c:\\sim.xml"; XStream xstream = new XStream(); Cliente cli = (Cliente)xstream.fromXML(xml);
Já neste caso dá o erro:
com.thoughtworks.xstream.io.StreamException: : only whitespace content allowed before start tag and not c (position: START_DOCUMENT seen c... @1:1)
Poderia, mais uma vez, me ajudar?
Obrigado!
Marco A.
"A boca fala do que está cheio o coração"
04/11/2008 12:41:47
Assunto:
Re:XML - Ler o arquivo pronto com o XStream
hugov
JavaEvangelist
Membro desde: 30/08/2004 14:14:23
Mensagens: 357
Offline
Se é uma lista de Cliente o correto é fazer assim.
List<Cliente> list = new ArrayList<Cliente>(); list = xstream.from("xml");
O que eu disse foi isso.
String xml = "<list> <bean.Cliente> <CliCod>000013</CliCod> <CliLoja>01</CliLoja> <CidCod>6383</CidCod> <UsuCod>033</UsuCod> <CliNome>TARCIS PAVANELLI EPP</CliNome> <CliLimiteCred>15200.0</CliLimiteCred> <CliTituloAberto>0.0</CliTituloAberto> <CliCondPag>14D</CliCondPag> <CliMediaAtraso>1.78</CliMediaAtraso> </bean.Cliente> <bean.Cliente> <CliCod>000180</CliCod> <CliLoja>01</CliLoja> <CidCod>6873</CidCod> <UsuCod>033</UsuCod> <CliNome>VALERIA VALOMINHO EPP</CliNome> <CliLimiteCred>10000.0</CliLimiteCred> <CliTituloAberto>0.0</CliTituloAberto> <CliCondPag>14D</CliCondPag> <CliMediaAtraso>4.25</CliMediaAtraso> </bean.Cliente> <bean.Cliente> <CliCod>000186</CliCod> <CliLoja>01</CliLoja> <CidCod>7017</CidCod> <UsuCod>033</UsuCod> <CliNome>DISTR. IMPERIAL LTDA </CliNome> <CliLimiteCred>31000.0</CliLimiteCred> <CliTituloAberto>0.0</CliTituloAberto> <CliCondPag>21D</CliCondPag> <CliMediaAtraso>14.71</CliMediaAtraso> </bean.Cliente> </list> "
Essa String deve conter o conteúdo do seu xml. Acho que agora vai ficar um pouco mais claro.
Vitor Hugo
Analista Desenvolvedor Java
WebLog :
http://emdia.wordpress.com/
Skype : hugov_br
04/11/2008 13:25:02
Assunto:
Re:XML - Ler o arquivo pronto com o XStream
fantomas
GUJ Master
Membro desde: 24/04/2008 16:10:55
Mensagens: 1528
Localização: Terra (maior parte do tempo)
Offline
fanama,
String xml = "c:\\sim.xml"; // <----------<< EU JÁ ACHO QUE O ERRO ESTÁ AQUI!!! XStream xstream = new XStream(); Cliente cli = (Cliente)xstream.fromXML(xml);
Troque esta linha
String xml = "c:\\sim.xml";
por
String xml = "c://sim.xml";
só inverti as barras.
Assim também deve funcionar:
public Cliente createClient(String pathFile ) throws Exception { FileReader reader = new FileReader(new File(pathFile)); Cliente cliente = (Cliente) xstream.fromXML(reader); return cliente; } USO: Cliente c = createClient("/repositorio/cliente.xml");
Espero ter ajudado.
flws
12/11/2008 13:55:00
Assunto:
Re:XML - Ler o arquivo pronto com o XStream [RESOLVIDO]
fanama
JavaTeenager
Membro desde: 21/05/2007 16:32:57
Mensagens: 176
Localização: Socorro - SP
Offline
Pessoal;
Boa Tarde!
Depois de muuuuita luta acabei conseguindo, abaixo segue como resolvi.
Antes de mais nada, muito obrigado aos amigos que me auxiliaram!
Criei um método para ler o meu XML já gravado:
public Cliente[] createClient(String pathFile ) throws Exception { XStream xstream = new XStream(); ArrayList al = new ArrayList(); FileReader reader = new FileReader(new File(pathFile)); al = (ArrayList) xstream.fromXML(reader); Cliente cli[] = (Cliente[])al.toArray(new Cliente[al.size()]); return cli; }
Método para recuperar os valores do XML
try { Cliente[] c = createClient("c:\\sim.xml"); for (int i = 0; i < c.length; i++) { System.out.print(c[i].getCliCod()); System.out.print(c[i].getCliNome()); System.out.print(c[i].getUsuCod()); } } catch (Exception ex) { System.out.println(ex); }
Abraço!
Marco A.
"A boca fala do que está cheio o coração"
12/11/2008 14:05:17
Assunto:
Re:XML - Ler o arquivo pronto com o XStream [RESOLVIDO]
Focão
JavaTeenager
Membro desde: 09/03/2005 09:49:33
Mensagens: 182
Offline
eu usaria digester.
public static void main(Object... thisCompile) {
for (Object JavaIsCool : thisCompile);
}
Índice dos Fóruns
»
Java Avançado
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team