XStream Mapeamento

2 respostas
rafaelunp

Amigos,

Com o código xml abaixo, como seria possível eu configurar o Xstram (alias, useatributeFor, etc), para identificar o objeto:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<receiptList>
   
   <receipt order_id="7672" xmlns="">
      <item pf_id="008496" order_id="7672" quantity="1"/>
      <item pf_id="008497" order_id="7672" quantity="1"/>
      <comprador order_id="7672" shopper_id="1000000" />
   </receipt>

   <receipt order_id="7673" xmlns="">
      <item pf_id="008496" order_id="7673" quantity="1"/>
      <item pf_id="008497" order_id="7673" quantity="1"/>
      <item pf_id="008498" order_id="7673" quantity="1"/>
      <comprador order_id="7673" shopper_id="1000001" />
   </receipt>

</receiptList>

2 Respostas

renzonuccitelli

Com Xstream não sei, mas com JColtrane eu sei. Se vc for mais específico com o que vc quer. Tipo, vc quer montar uma lista de receipt, cada um contendo vários itens e um Comprador? Se vc colocar pelo menos as classes Receipt, Item e Comprador eu posso faser o parser pra vc…

rafaelunp
renzonuccitelli:
Com Xstream não sei, mas com JColtrane eu sei. Se vc for mais específico com o que vc quer. Tipo, vc quer montar uma lista de receipt, cada um contendo vários itens e um Comprador? Se vc colocar pelo menos as classes Receipt, Item e Comprador eu posso faser o parser pra vc...
Opa Renzo, resolvi meu problema usando XStream mesmo. Obrigado pela iniciativa. segue abaixo a solucao:
xstream.alias("receiptList", ReceiptList.class);
	    xstream.addImplicitCollection(ReceiptList.class, "receipts");
	    xstream.alias("receipt",Receipt.class);	    
	    
	    xstream.addImplicitCollection(Receipt.class, "receiptItens", "receiptitem", ReceiptItem.class);
	    xstream.useAttributeFor(ReceiptItem.class, "pfid");
	    xstream.useAttributeFor(ReceiptItem.class, "orderid");
	    
	    xstream.addImplicitCollection(Receipt.class, "receiptShoppers", "receiptshopper", ReceiptShopper.class);
	    xstream.useAttributeFor(ReceiptShopper.class, "shopperid");
	    xstream.useAttributeFor(ReceiptShopper.class, "orderid");
minha duvida principal era como mapear no xstrem listas dentro de listas e dentro da lista, os atributos...
Criado 22 de janeiro de 2009
Ultima resposta 22 de jan. de 2009
Respostas 2
Participantes 2