У меня есть три разных сообщения pojos, которые нужно проанализировать как XML с помощью библиотеки SimpleXML в приложении для Android.Первое pojo:
@Root(name = "Message")
public class InventoryMessage {
@Element(name = "Header")
private Header header;
@ElementList(inline = true)
private ArrayList<InventoryBarcode> inventoryData;
public InventoryMessage(ArrayList<InventoryBarcode> inventoryData) {
this.header = new Header(ScanSource.INVENTORY);
this.inventoryData = inventoryData;
}
}
Анализирует сообщение так, как мне бы хотелось:
<Message>
<Header>
<DateTime></DateTime>
<HospitalCode></HospitalCode>
<MessageType></MessageType>
</Header>
<InventoryData>
<EventDtm></EventDtm>
<ItemCode></ItemCode>
<UserCode></UserCode>
<LocationCode></LocationCode>
</InventoryData>
</Message>
Однако, когда я делаю то же самое с этим:
@Root(name = "Message")
public class CyclecountMessage {
@Element(name = "Header")
private Header header;
@ElementList(inline = true)
private ArrayList<CyclecountBarcode> cyclecountData;
public CyclecountMessage(ArrayList<CyclecountBarcode> cyclecountData) {
this.header = new Header(ScanSource.CYCLECOUNT);
this.cyclecountData = cyclecountData;
}
}
Я получаю:
<Message>
<CyclecountData>
<EventDtm></EventDtm>
<ItemCode></ItemCode>
<UserCode></UserCode>
<LocationCode></LocationCode>
</CyclecountData>
<Header>
<DateTime></DateTime>
<HospitalCode></HospitalCode>
<MessageType></MessageType>
</Header>
</Message>
Независимо от того, что я пробую, порядок остается неизменным.Инвентарь размещает заголовок сверху, а два других (один из которых вы видите здесь) продолжают размещать заголовок внизу.Чем это вызвано?Я попытался добавить @Order, но безуспешно, так как @ElementList не настоящий @Element, я думаю, не знаю.
Заранее спасибо за любую помощь.