XStream limitacao tag

7 respostas
ramilani12

Ola Pessoal
Estou utilziando XStream para construção de um XML me deparei em um problema uma tag xml do tipo:

a =“bla”/

Ou seja não tenho um tag de abertura e fechamento Ex:

<a> bla </a>

Alguem ja passou por este problema? Como contornar este problema no momento que defino o meu alias: xstream.alias("a"A.Class)
Na saida ele ira criar:

<a>bla </a>

na verdade quero que ele crie a=“bla”/

O Jforum esta barrando as tags XML de exemplo

7 Respostas

Pedrosa

Aqui já tive problemas com Xtream também, tente trocar o alias para outro nome e veja se funciona.

maquiavelbona

Já leste o tutorial?

http://xstream.codehaus.org/alias-tutorial.html

Até!

Obs.: Mais um pinheiro morto para virar papel.

ramilani12

maquiavelbona:
Já leste o tutorial?

http://xstream.codehaus.org/alias-tutorial.html

Até!

Obs.: Mais um pinheiro morto para virar papel.

Sim já li …
E não possui a solução para meu problema … :slight_smile:

ramilani12

Então mudando o nome do Alias tudo bem , mas o programa que meu cliente irá rodar espera esse tipo de tag:

<a=bla/>

E o XStream gera esse tipo de tag:<a>bla</a>

Este é meu problema tipo as tag input do HTML:

<input type="test" name="a"/>
maquiavelbona

Tem sim, creio que tenhas que aprender a trabalhar melhor com converters.

Até!

ramilani12

Pelo que entendi da Interface SingleValueConverter ele supre a deficiência do XStream nas tags onde há uma variavel no atributo XML

&lt;ab=c&gt;
</a>

Existe uma outra Interface que me auxilie?

ramilani12

Resolvi meu problema usando o metodo: xstream.useAttributeFor();

public class Author
{
   private String name;

   public Author (String name)
   {
           this.name = name;
   }
}

                XStream xstream = new XStream();
		Author a = new Author("Raphael Milani");
		xstream.alias("author", Author.class);
		xstream.useAttributeFor(Author.class, "name");
		System.out.println(xstream.toXML(a));

Saida:

&lt;author name="Raphael Milani"/&gt;
Criado 26 de julho de 2007
Ultima resposta 26 de jul. de 2007
Respostas 7
Participantes 3