XStream ler um XML
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
Curtidas 1
Melhor post
Rennan Paloschi
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
GOSTEI 1
Mais Respostas
Renato Chinaglia
01/02/2013
Obrigado !!!!
Era isso mesmo =)
Resolvido
Era isso mesmo =)
Resolvido
GOSTEI 0
Joel Rodrigues
01/02/2013
Obrigado pelo retorno. Estou encerrando esse tópico.
GOSTEI 0