MJ17 - XStream API

9 respostas
D

Olá Pessoal,

Eu tenho uma pergunta em relação ao uso da API XStream:

  • Como faço para usar atributos?
    Eu encontrei isso:

    [b]xstream.useAttributeFor(String.class);
    xstream.useAttributeFor(Integer.class);[/b]
    

Mas, têm um porém…isso nao pode ser algo genérico…onde todas as Strings se tornem attributos, quero que somente alguns sejam. (obs: eu ja tenho o XML montado, e nao posso alterar sua estrutura.)

Obrigado.

9 Respostas

D

none?

alguem teria um exemplo?

Tks.

smota

Duque:
none?
alguem teria um exemplo?

Imagino que MK17 seja referência a uma edição da Mundo Java … como não tenho e não li o seu post ficou muito confuso e não deu bem pra identificar seu problema.

O que entendi: Você tem um XML montado e quer transforma-lo em um objeto usando o XStream, é isso? Se for eu não recomendaria o XStream, ele é para serializar e deserializar objetos, não para parsear XMLs e criar objetos.

Para esse fim recomendo mais o Digester

D

OI smota,

bom para mim, transformas um objeto com estado para um arquivo XML é serializar.

POrque nao poderia usa-lo?

[]´s

D

anyone?

Guilherme_Silveira

XStream é mais rápido e mais simples que o Digester… e ele é uma camada de transformação de objetos em xml sim… e vice-versa…

Fora isso, para usar atributos sugiro que você baixe o snapshot da versão atual em:

Latest snapshot
http://xstream.codehaus.org/download.html

Aí basta utilizar o metodo XStream.useAttributeFor(fieldName, type);

E seus similares…

Abraço

Guilherme

Guilherme_Silveira

ps: para ganhar ainda mais produtividade use java5+xstream: anotacoes
ps2: para ganhar mais velocidade voce pode usar stax ou outros tipos de drivers… de uma olhada no tutorial e participe da lista de discussao do grupo… tem bastante coisa interessante

D

Obrigado Guilherme!!

D

OLá Guilherme,

uma pergunta…mas como incluo a tag principal no arquivo quando uso o método toXML?

"<?xml version="1.0" encoding="UTF-8"?>"

Obrigado.

Guilherme_Silveira

Isso depende do driver que voce utiliza. O xstream tem o objetivo de escrever para fluxos de xml (por isso o nome), portanto ele nao tem como afetar o cabecalo… dependendo do driver que voce utilizar ele acrescenta automaticamente, caso contrario voce tem que adicionar na mao

Abraco

Guilherme

Criado 29 de maio de 2006
Ultima resposta 22 de jun. de 2006
Respostas 9
Participantes 3