2015-04-07 20 views
6

Tôi đang làm việc với khung công tác XML đơn giản và chỉ đổi tên một số bố cục XML, mà bây giờ dường như không hoạt động nữa.Phần tử không có kết quả phù hợp trong lớp

Đây là XML của tôi:

<?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> 

Và đây là định nghĩa lớp mã của tôi:

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

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

Đây là lỗi tôi nhận được:

org.simpleframework.xml. core.ElementException: Element 'order' không có kết quả phù hợp trong lớp nl.minerall.sapphire.pocket.telegrams.OrderListReplyTelegram tại dòng 1

Trả lời

4

Thật không may, gỡ lỗi Khung XML đơn giản là không dễ dàng, nhưng một số thử nghiệm và lỗi đã giúp tôi.

lớp OrderListItem tôi có tiêu đề này:

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

khi thay đổi như sau:

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

nó làm việc. Điều kỳ lạ là, ở mã khác, chú thích @Element dường như hoạt động (mã này xuất phát từ mã khác, hoạt động, cây).

+3

Tôi lưu ý rằng chú thích @Root là bắt buộc. Ngoài ra bạn có thể sử dụng @Root (strict = false) –

Các vấn đề liên quan