Xstream

4 respostas
markinlelo

Ola, estour gerando um xml atravez do xstream e estou com um problema,

tenho a classe

public class Rem implements Serializable {

    private String CNPJ;
    private String CPF;
    private String IE;
    private String xNome;
    private String xFant;
    private String fone;
    private Endereco enderReme;
    private List<InfNF> infNF;

meu problema esta no List infNF

pois me gera

<rem>
       ...
       <infNF>
                  <infNF>......</infNF>
                  <infNF>......</infNF>
                  <infNF>......</infNF>
       </infNF>
</rem>

sendo que eu preciso de

<rem>
       ...
       <infNF>......</infNF>
       <infNF>......</infNF>
       <infNF>......</infNF>

</rem>

ou seja sem uma Tag com o nome do atributo que simboliza a Lista

se alguem tiver uma ideia fico grato

Marcos Soares

4 Respostas

davidbuzatto

Você precisa usar o méotodo addImplicitCollection…
Tem nos tutoriais do XStream explicando: http://xstream.codehaus.org/alias-tutorial.html#omit

Eu particularmente prefixo o SimpleXML (http://simple.sourceforge.net/) ao invés do XStream. Parei de usar o XStream pois algumas tarefas que deveriam ser simples as vezes dão um bom trabalho para serem realizadas.

[]´s

peczenyj

O problema do xstream é que tentamos ler o xml gerado com algo que náo é o xstream… :slight_smile:

peerless

Sim mas, é exatamente isso que se espera deste tipo de framework, não? De todo modo, para este tipo de coisa, existe a “extensibilidade” para criaçao -facil- de converters.

davidbuzatto

Sim mas, é exatamente isso que se espera deste tipo de framework, não? De todo modo, para este tipo de coisa, existe a “extensibilidade” para criaçao -facil- de converters.

Então, concordo com o peczenyj.
Qualquer coisa que fuja do “padrão” do xstream acaba dando erro. Ai você tem que escrever N conversores ou fazer M configurações para poder fazer o parse corretamente. No Simple vc faz TUDO com anotações e não precisa de nenhum conversor (pelo menos eu não precisei). Eu tinha uma hierarquia GIGANTESCA de objetos que deveria ser serializada em XML (em um formato diferente do que o XStream gerava por padrão). No XStream gastei um dia escrevendo os conversores e tal… Na hora que achei q estava funcionando corretamente, começei a ter um monte de problemas com referências circulares (na hora que fui testar o funcionamento com objetos gerados dinamicamente)… Um saco… Desliguei o xpath, mas ai meu xml vinha errado… Um rolo danado… Em 1 hora eu joguei tudo fora e anotei todas minhas classes usando o Simple. Está funcionando bonitinho. E sem trocentos conversores e zilhões de linhas para configurar o XStream… Ai você pode falar que o XStream tem anotações e tal, mas ainda não é tão fácil de usar quanto o Simple.

[]´s

Criado 1 de junho de 2010
Ultima resposta 1 de jun. de 2010
Respostas 4
Participantes 4