Meu problema está justamente na hora de voltar os dados para os objetos, o XStream está dando o seguinte erro quando eu executo o método fromXML(strXml);
[quote]Exception in thread “main” com.thoughtworks.xstream.mapper.CannotResolveClassException: page : page
at com.thoughtworks.xstream.mapper.DefaultMapper.realClass(DefaultMapper.java:49)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.ClassAliasingMapper.realClass(ClassAliasingMapper.java:76)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.DynamicProxyMapper.realClass(DynamicProxyMapper.java:60)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.ArrayMapper.realClass(ArrayMapper.java:76)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.MapperWrapper.realClass(MapperWrapper.java:26)
at com.thoughtworks.xstream.mapper.CachingMapper.realClass(CachingMapper.java:34)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:113)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:29)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:846)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:833)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:781)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:773)
at br.gov.infoseg.util.XMLCreator.xml2Str(XMLCreator.java:46)
at br.gov.infoseg.actions.TestBean.main(TestBean.java:51)[/quote]
Minha hierarquia de Tipos parece estar correta, pois ao gerar o XML ele gera exatamente da maneira que eu preciso gerar, ou seja, com a hierarquia correta, porém ao voltar está dando este erro, alguém sabe dizer o porque, ou alguma luz?
Pode sim, desde que você tenha os seus objetos devidamente criados, e costuma funcionar bem, mas eu to tendo este erro que está me atrasando muitooo!!!
Aqui no Guj tem um tuto sobre XStream, dá uma procurada aí que é super simples.
É mais ou menos assim:
public class TesteXStream
{
public static void main(String[] args)
{
XStream xstream = new XStream();
Pessoa pessoa = new Pessoa();
pessoa.setNome(“Vinci Pegoretti Amorim”);
pessoa.setEmail(“vinci_amorim@yahoo.com.br”);
pessoa.setXxxx(“XxXxXxX”);
List contatos = new ArrayList(1);
contatos.add(pessoa);
// Passando os dados de Objetos Java para XML
String contatosEmXML = xstream.toXML(contatos);
System.out.println("\nContatos em XML:");
System.out.println(contatosEmXML);
// Passando os dados de XML para Objetos Java
List amigos = (List) xstream.fromXML(contatosEmXML);
Pessoa pessoa2 = (Pessoa) amigos.get(0);
System.out.println("Objeto Java:");
System.out.println("Nome: " + pessoa2.getNome());
System.out.println("Nome: " + pessoa2.getEmail());
}
}[/code]
Esta simples classe faz a passagem de objeto para XML e vice-versa, XStream é muito tranquilo, mas no meu caso específico falta algo que ainda não estou conseguindo enxergar…
Obs: para a classe acima funcionar vc precisa criar os tipos declarados nela, com seus respectivos getters e setters.
[quote=Rage]Você tem q fazer a leitura do seu XML, jogar o conteudo dele numa String e depois fazer o que vc quer com a String, no seu caso, jogar no banco.
Acredito que a classe BufferedReader resolva o seu problema, ou senão talvez a StreamReader, FileReader, dê uma pesquisada por aquí…
[]´s[/quote]
Ok amigo… Obrigado… vou dar uma pesquisada… desculpa por eu não ter te ajudado… talvez numa proxima… até mais