Tag geração arquivo xml api XStream

1 resposta
R

Olá pessoal,

Fiz uma classe de teste e ao gerar o arquivo xml, o arquivo é iniciado com a tag , teria uma outra forma de gravar o arquivo xml sem essa tag, somente com a representação do objeto.

@XStreamAlias(value="produto")
public class Produto {

	@XStreamAlias(value="CodigoExternoFornecedor")
	private String codigoFornecedor;

	@XStreamAlias(value="CodigoExternoProduto")
	private String codigoProduto;

	@XStreamAlias(value="Nome")
	private String nome;

	@XStreamAlias(value="Peso")
	private Double peso;

	@XStreamAlias(value="UnidadePesoId")
	private Integer unidadePeso;

	@XStreamAlias(value="UnidadeVenda")
	private Integer unidadeVenda;
@XStreamAlias(value="movimento")
public class Movimento {

	@XStreamAlias(value="dataGeracao")
	private Date data;

	@XStreamImplicit(itemFieldName="produto")
	private List<Produto> produtos;
public class Teste {

	public static void main(final String[] args) throws IOException {

		Date data = new Date();
		Movimento movimento = new Movimento();
		movimento.setData(data);

		Produto produto1 = new Produto();
		produto1.setCodigoFornecedor("forn-a1");
		produto1.setCodigoProduto("prod-a1");
		produto1.setNome("Amarildo Borges");
		produto1.setPeso(1.236);
		produto1.setUnidadePeso(1);
		produto1.setUnidadeVenda(1);

		Produto produto2 = new Produto();
		produto2.setCodigoFornecedor("forn-a2");
		produto2.setCodigoProduto("prod-a2");
		produto2.setNome("João Pires");
		produto2.setPeso(0.325);
		produto2.setUnidadePeso(2);
		produto2.setUnidadeVenda(2);

		Produto produto3 = new Produto();
		produto3.setCodigoFornecedor("forn-a3");
		produto3.setCodigoProduto("prod-a3");
		produto3.setNome("Mariovania");
		produto3.setPeso(5.621);
		produto3.setUnidadePeso(3);
		produto3.setUnidadeVenda(3);

		List<Produto> produtos = new ArrayList<Produto>();
		produtos.add(produto1);
		produtos.add(produto2);
		produtos.add(produto3);

		movimento.setProdutos(produtos);

		XStream xstream = new XStream(new DomDriver());
		xstream.processAnnotations(Movimento.class);
		xstream.processAnnotations(Produto.class);

		Writer writer = new FileWriter("teste.xml");
		ObjectOutputStream out = xstream.createObjectOutputStream(writer);

		out.writeObject(movimento);
		out.close();
	}
}
<object-stream>
  <movimento>
    <dataGeracao>2011-08-11 12:43:18.562 UTC</dataGeracao>
    <produto>
      <CodigoExternoFornecedor>forn-a1</CodigoExternoFornecedor>
      <CodigoExternoProduto>prod-a1</CodigoExternoProduto>
      <Nome>Amarildo Borges</Nome>
      <Peso>1.236</Peso>
      <UnidadePesoId>1</UnidadePesoId>
      <UnidadeVenda>1</UnidadeVenda>
    </produto>
    <produto>
      <CodigoExternoFornecedor>forn-a2</CodigoExternoFornecedor>
      <CodigoExternoProduto>prod-a2</CodigoExternoProduto>
      <Nome>Joao Pires</Nome>
      <Peso>0.325</Peso>
      <UnidadePesoId>2</UnidadePesoId>
      <UnidadeVenda>2</UnidadeVenda>
    </produto>
    <produto>
      <CodigoExternoFornecedor>forn-a3</CodigoExternoFornecedor>
      <CodigoExternoProduto>prod-a3</CodigoExternoProduto>
      <Nome>Mariovania</Nome>
      <Peso>5.621</Peso>
      <UnidadePesoId>3</UnidadePesoId>
      <UnidadeVenda>3</UnidadeVenda>
    </produto>
  </movimento>
</object-stream>

1 Resposta

alexvingg

da uma olhada aqui http://xstream.codehaus.org/tutorial.html
tem o que você quer. Valeu.

Criado 11 de agosto de 2011
Ultima resposta 11 de ago. de 2011
Respostas 1
Participantes 2