Öğe,

2015-04-07 23 views
6

sınıfında bir eşleşme içermiyor. Basit XML çerçevesiyle çalışıyorum ve artık yalnızca artık çalışmıyor gibi görünen bazı XML düzenlerini yeniden adlandırıyorum. Öğe,

Bu

benim XML'dir:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
    <orderListReply id="R000000000006"> 
    <order orderid="12" type="outbound" state="available"> 
     <todo>2</todo> 
     <done>0</done> 
     <lines>1</lines> 
     <erporderid>0</erporderid> 
    </order> 
    </orderListReply> 

Ve bu benim kod sınıf tanımı şöyledir:

org.simpleframework.xml:

@Root(name="orderListReply") 
public class OrderListReplyTelegram extends Telegram { 

    @ElementList(name="order", inline=true, required=false) 
    private List<OrderListItem> orders; 
    ... 

En fazla bu hatadır. core.ElementException: Element 'order' sınıf 1'de nl.minerall.sapphire.pocket.telegrams.OrderListReplyTelegram bir eşleşme yok

cevap

4

Maalesef, Basit XML Framework hata ayıklaması kolay değil, ancak bazı deneme yanılma hatalarım bana yardımcı oldu.

@Element(name="order") 
public class OrderListItem { 

bu değiştirildi: işe yaradı

@Root(name="order") 
public class OrderListItem { 

Benim OrderListItem sınıfı bu başlık vardı. Garip bir şey, diğer kodda, @Element açıklamasının çalıştığı görülüyordu (bu kod başka bir çalışma ağacından geliyor).

+3

Not: @Root ek açıklamasının zorunlu olduğunu unutmayın. Ayrıca @Root kullanabilirsiniz (strict = false) –