Ler objetos Java pelo xml

3 respostas
T
Pessoal estou com um problema na leitura de um xml. é o seguinte:

tenho uma classe Relatório que contem dois Arraylist de outras classes <Band> e <Tabela>
contudo, quando transformo o objeto Relatorio em XML, ele n consegue salvar o conteúdo do ArrayList<Band>

o que eu posso estar fazendo errado?
       
       //salvando
        try {
            FileOutputStream outStream = new FileOutputStream(this.pathOpen);
            BufferedOutputStream outBuffer = new BufferedOutputStream(outStream);
            XMLEncoder outXML = new XMLEncoder(outBuffer);

            outXML.writeObject(this.relatorio);
            outXML.close();
        } catch (FileNotFoundException ex) {
            Logger.getLogger(ReportCRTL.class.getName()).log(Level.SEVERE, null, ex);
        }


         //abrindo o arquivo salvo
         try {
                this.pathOpen = fc.getCurrentDirectory() + "\\" + nomeArquivo;
                FileInputStream fis = new FileInputStream(this.pathOpen);
                XMLDecoder de = new XMLDecoder(fis);

                //aqui ele n carrega o array list de Band
                this.relatorio = (Relatorio) de.readObject();

                de.close();
                fis.close();
            } catch (Exception e) {
                System.out.println("Erro: " + e.getMessage());
            }

3 Respostas

F

Certeza que essa biblioteca que você está usando realmente funciona com listas? Pesquisa na documentação dela…

R

Para converter objetos Java de/para representação XML, recomendo o JiBX ou o XStream, que oferecem controle completo sobre os aspectos de leitura e gravação:

http://jibx.sourceforge.net/
http://xstream.codehaus.org/

T

Pessoal obrigado pela dica…consegui resolver com XStream.
abrass

Criado 6 de setembro de 2011
Ultima resposta 6 de set. de 2011
Respostas 3
Participantes 3