SimpleXML Element & Inline Elementlist Случайный порядок - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть три разных сообщения 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, я думаю, не знаю.

Заранее спасибо за любую помощь.

...