Ola pessoal,
estou com uma dúvida, em relação ao XStream.
Tanto no tutorial daki do GUJ (Veja aqui…), quanto no tutorial da CodeHaus (Veja aqui…),
é mostrada a conversão de um objeto para XML:
Pessoa eu = new Pessoa("Alexandre");
eu.setTelefone("2234-5678");
eu.setFax("9999-9999");
String xml = xstream.toXML(eu);
Opa! Estou trabalhando com o XStream aqui! Código saindo do forno!
:arrow: Salvando:
FileWriter arquivo = new FileWriter(new File("arquivo.xml"));
xstream.toXML(array,arquivo);//armazenando uma lista
:arrow: Lendo:
FileReader arquivo = new FileReader(new File("arquivo.xml"));
ArrayList membros = (ArrayList)xstream.fromXML(arquivo);//retornando uma lista de objetos membros
Outra maneira é escrevendo a String no arquivo(salvando) e ler todas as linhas do arquivo em uma só String e convertendo(lendo).
Espero ter ajudado!
_
_fs
Bom, posso estar falando algo que não tem a ver com a sua dúvida, mas, com XStream, não dá transformar em objeto um XML que não foi gerado por ele.
Tentei fazer isso
A
Alexandre
Vixi Maria!!!
Vamos lá…
Estou utilizando o NanoContainer, e estou fazendo o assemble do container via XML,
num arquivo components.xml:
Agora quero utilizar esse componente que configurei no container, tava meio
perdido e o CV me falou pra usar XStream, agora preciso converter o meu
xml para objeto par utilizá-lo.
Da pra fazer isso?
[]'s
_
_fs
Se não foi o XStream que gerou esse xml, não. Só fazendo mágica com Java
Aliás, foi o próprio cv que me ajudou quando eu tava com dúvidas como XStream.
C
cv1
Ateh dah, mas o XML tem que ser muito bonzinho… por exemplo, nao usar atributos, nem trechos CDATA muito bizarros, nem…
:arrow: Você converte esse XML em objeto do tipo DefaultPicoContainer
e usa (reforçando que isso que eu entendi, caso esteja errado por favor
me carrijam…):
Bom estou chegando assim meio totalmente atrasado, mas vamos ver se posso ajudar.
O XStream é muito bom, mas talvez não sirva exatamente para seu caso. Como eu disse, vai trabalhar com XML? A sugestão é: tente usar XStream. Se não for possível, tente outra.