Listas com XStream

Pessoal,

Eu tenho o seguinte arquivo XML a ser lido pelo XStream…

<objeto-maior>
	<lista-objetos-menores>
		<objeto-menor atributo="valor />
		<objeto-menor atributo="valor />
		<objeto-menor atributo="valor />
	</lista-objetos-menores>
</objeto-maior>
public class ObjetoMaior {
	private List listaObjetosMenores = new ArrayList();
	...
}

public class ObjetoMenor {
	private String atributo = null;
}

Meu ObjetoMaior tem um(a) java.util.List dentro dele [edited] mapeado para a tag , com várias instancias de ObjetoMenor dentro desta lista…
Todos os alias da vida estão colocados e a leitura é efetuada perfeitamente mas, como eu faço para que a leitura seja feita sem a tag de lista, para que meu XML fique mais simples, como no exemplo abaixo porem, utilizando as mesmas classes.

<objeto-maior>
	<objeto-menor atributo="valor />
	<objeto-menor atributo="valor />
	<objeto-menor atributo="valor />
</objeto-maior>

Qual o método do XStream eu tenho que chama antes do stream.fromXML()?

Não entendi muito bem amigo.

Você está fazendo o pase de XML para OBJETO JAVA e seu objeto esta vindo populado com as tags conteudo,
e você quer que venha apenas com “conteudo”, é isso??

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

Conheço o xstream superficialmente, mas ele tem um método para omitir campos (se não me engano é o omitField), da uma olhada…

Alterei a descrição do tópico para ficar mais “entendivel”…

Eu tenho o ambiente hoje funcionando como descrito no primeiro XML e com as classes colocadas no inicio do tópico.

Eu queria que, a leitura da lista (java.util.List) do ObjetoMaior omitisse a tag gerada …

Vou testar com o omitField colocado pelo amigo ai de cima… Vi na descrição do Javadoc dele, mas… vamos testar…

Estou com a mesma dúvida depois de 3 anos da criação do tópico, sera que o autor do tópico conseguiu resolver o problema. Tenho um List com nome “detalhes” criado da seguinte forma…

private List<det> detalhes = new ArrayList<det>();

e gostaria de omitir esta tag “detalhes” que aparece no meu XML abaixo…

<detalhes>
    <det>
         <prod>
         </prod>
    </det>
</detalhes>

já tentei usar o código abaixo, mas quando uso esse código ele omite tudo o que está dentro de detalhes (det; prod);

alguém sabe que método posso usar ?

Amigo casardo,

Use o SEguinte Codigo:

XStream xs = new XStream(new DomDriver());
suaClasse classe = new suaClasse();

xs.addImplicitCollection(suaClasse.class, "nome da tag para omitir");

System.out.println(xs.toXML(classe ));