Dúvida XStream!

Olá pessoal!

A biblioteca XStream possibilita a geração de arquivos xml a partir de uma lista de objetos?
Se possível, como faço para verificar se o arquivo xml foi gerado com sucesso? Na verdade eu gostaria que fosse exbida uma caixa de diálogo para eu salvar este arquivo xml!

É possível?

Obrigado.

Existem duas formas de você salvar um arquivo, uma usando a própria API do XStream, usando a PersistenceStrategy e XmlArrayList.

Nesse caso você passa como parâmetro a instância do objeto que você quer que ele converta para arquivo xml.

A outra (a que mais eu uso) é gerar uma string do XML em questão (usando o toXML) e dessa string eu mesmo a salvo num arquivo usando um FileWriter por exemplo.

Agora uma coisa…

Por favor se atenha a postar em local correto, essa questão se refere propriamente dita uma dúvida web.

[quote=Grinvon]Existem duas formas de você salvar um arquivo, uma usando a própria API do XStream, usando a PersistenceStrategy e XmlArrayList.

Nesse caso você passa como parâmetro a instância do objeto que você quer que ele converta para arquivo xml.

A outra (a que mais eu uso) é gerar uma string do XML em questão (usando o toXML) e dessa string eu mesmo a salvo num arquivo usando um FileWriter por exemplo.[/quote]

Entendi!!!

Mais eu consigo gerar um xml apartir de uma lista de objetos(List) por exemplo?

Valew.

[quote=Grinvon]Agora uma coisa…

Por favor se atenha a postar em local correto, essa questão se refere propriamente dita uma dúvida web.[/quote]

Mais eu estou utilizando este recurso em uma aplicação web!

[quote=rodrigo.fai][quote=Grinvon]Agora uma coisa…

Por favor se atenha a postar em local correto, essa questão se refere propriamente dita uma dúvida web.[/quote]

Mais eu estou utilizando este recurso em uma aplicação web![/quote]

Que seja numa aplicação web, mas a dúvida não é de um assunto web e sim de XML save parse etc.

[quote=rodrigo.fai][quote=Grinvon]Existem duas formas de você salvar um arquivo, uma usando a própria API do XStream, usando a PersistenceStrategy e XmlArrayList.

Nesse caso você passa como parâmetro a instância do objeto que você quer que ele converta para arquivo xml.

A outra (a que mais eu uso) é gerar uma string do XML em questão (usando o toXML) e dessa string eu mesmo a salvo num arquivo usando um FileWriter por exemplo.[/quote]

Entendi!!!

Mais eu consigo gerar um xml apartir de uma lista de objetos(List) por exemplo?

Valew.[/quote]

Consegue sim, uma vez que vc definiu um “alias” para o XSteam, ele saberá como criar um XML a partir de seu bean, EX:

        XStream lStream = new XStream();
        
        //alias
        lStream.alias("pessoa", Pessoa.class);
        lStream.alias("telefone", Telefone.class);
        
        Pessoa lPessoa = new Pessoa();
        lPessoa.setNome("Inocêncio");
        lPessoa.setEndereco("Av. Euclydes da Cunha");
        lPessoa.setIdade(28);
        
        Telefone lTelefone = new Telefone();
        lTelefone.setDdd(71);
        lTelefone.setNumero("3636363636");

Nesse código acima eu crie um bean de pessoa e outro de telefone, uma pessoa pode ter N telefones, ou seja… N beans de telefone.

Veja que eu informeu ao XStream como iria chamar pessoa e telefone, e quais seriam os beans atribuídos.

String lXml = lStream.toXML(lPessoa);

Agora o lXml gerou um “arquivo” XML completo refere aos meus beans.

[quote=Grinvon][quote=rodrigo.fai][quote=Grinvon]Existem duas formas de você salvar um arquivo, uma usando a própria API do XStream, usando a PersistenceStrategy e XmlArrayList.

Nesse caso você passa como parâmetro a instância do objeto que você quer que ele converta para arquivo xml.

A outra (a que mais eu uso) é gerar uma string do XML em questão (usando o toXML) e dessa string eu mesmo a salvo num arquivo usando um FileWriter por exemplo.[/quote]

Entendi!!!

Mais eu consigo gerar um xml apartir de uma lista de objetos(List) por exemplo?

Valew.[/quote]

Consegue sim, uma vez que vc definiu um “alias” para o XSteam, ele saberá como criar um XML a partir de seu bean, EX:

        XStream lStream = new XStream();
        
        //alias
        lStream.alias("pessoa", Pessoa.class);
        lStream.alias("telefone", Telefone.class);
        
        Pessoa lPessoa = new Pessoa();
        lPessoa.setNome("Inocêncio");
        lPessoa.setEndereco("Av. Euclydes da Cunha");
        lPessoa.setIdade(28);
        
        Telefone lTelefone = new Telefone();
        lTelefone.setDdd(71);
        lTelefone.setNumero("3636363636");

Nesse código acima eu crie um bean de pessoa e outro de telefone, uma pessoa pode ter N telefones, ou seja… N beans de telefone.

Veja que eu informeu ao XStream como iria chamar pessoa e telefone, e quais seriam os beans atribuídos.

String lXml = lStream.toXML(lPessoa);

Agora o lXml gerou um “arquivo” XML completo refere aos meus beans.

[/quote]

Saquei!!!

Após criar o alias eu conseguiria gerar o xml utilizando o seguinte codigo por exemplo?

      [code]toXML(listProjetosPrestadosConta);[/code]

Sendo que listProjetosPrestadosConta é do tipo List!

Ele gera um XML numa String, daí vc pode salvar a string usando um FileWriter por exemplo, ou usar a própria estrutura do XStream utilizando o XmlAsArray e Strategy

Essa classe XmlAsArray é de outra api? Pois não encontrei na api do XStream!