XStream ler um XML
01/02/2013
0
Bom dia
Estava lendo este artigo https://www.devmedia.com.br/serializando-objetos-java-em-xml-com-xstream/3647
e tentei fazer o mesmo aqui
criei a classe bean Aluno e depois criei a classe XstreamProject (Segue o codigo)
Logo em seguida eu criei a classe lerXML()
Esta é a classe
ela me gera o seguinte erro na linha (Aluno a = (Aluno) xStream.fromXML(fis);)
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to xstreamproject.Aluno
at xstreamproject.lerXML.lerXML(lerXML.java:37)
at xstreamproject.lerXML.main(lerXML.java:56)
Java Result: 1
Como eu posso resolver isso ?
Estava lendo este artigo https://www.devmedia.com.br/serializando-objetos-java-em-xml-com-xstream/3647
e tentei fazer o mesmo aqui
criei a classe bean Aluno e depois criei a classe XstreamProject (Segue o codigo)
public static void main(String args[]) { // criando um Aluno Aluno aluno= new Aluno("Marcelo Andrade", 9912344L, new double[] {9.0, 8.5, 7.0, 10.0}, true ); // exibindo o resultado da serialização com XStream XStream xstream= new XStream(); xstream.alias("Aluno", Aluno.class); String representacao= xstream.toXML(aluno); System.out.println(representacao); File arquivo = new File("aluno.xml"); FileOutputStream gravar; try { gravar = new FileOutputStream(arquivo); gravar.write(xstream.toXML(representacao).getBytes()); gravar.close(); } catch (IOException ex) { ex.printStackTrace(); } }
Logo em seguida eu criei a classe lerXML()
Esta é a classe
private static void lerXML() throws FileNotFoundException { XmlSerializer xmlser = new XmlSerializer(new DomDriver()); xmlser.deserialize("endereco.xml", Aluno.class); FileInputStream fis = new FileInputStream(new File("aluno.xml")); XStream xStream = new XStream(new DomDriver()); Aluno a = (Aluno) xStream.fromXML(fis); System.out.println(a.getNomeCompleto()); } public static void main(String[] args) { try { lerXML(); } catch (FileNotFoundException ex) { Logger.getLogger(lerXML.class.getName()).log(Level.SEVERE, null, ex); } }
ela me gera o seguinte erro na linha (Aluno a = (Aluno) xStream.fromXML(fis);)
Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to xstreamproject.Aluno
at xstreamproject.lerXML.lerXML(lerXML.java:37)
at xstreamproject.lerXML.main(lerXML.java:56)
Java Result: 1
Como eu posso resolver isso ?
Renato Chinaglia
Curtir tópico
+ 1
Responder
Post mais votado
06/02/2013
Cara da dando erro de casting pq sua classe n eh do jeito q ele esperava, provavelmente ela não é serializável
Só fazer sua classe aluno implementar a interface Serializable... "public class Aluno implements Serializable"
Deve resolver
Só fazer sua classe aluno implementar a interface Serializable... "public class Aluno implements Serializable"
Deve resolver
Rennan Paloschi
Responder
Mais Posts
Clique aqui para fazer login e interagir na Comunidade :)