JAXB - как сопоставить массив XML со списком объектов

1

У меня есть xml файл с этим контентом. каждая транзакция начинается с trans_ и заканчивается номером транзакции

<trans_1>
    <date>2013/10/10</date>
    <code>109129</code>
    <amount>+000000024000000</amount>
    <balance>+000000024000000</balance>
</trans_1>
<trans_2>
    <date>2013/10/10</date>
    <code>109149</code>
    <amount>+000000025000000</amount>
    <balance>+000000049000000</balance>
</trans_2>
<trans_3>
    <date>2013/10/10</date>
    <code>109161</code>
    <amount>+000000005000000</amount>
    <balance>+000000054000000</balance>
</trans_3>

Я хочу сопоставить этот массив со списком следующего объекта.

class Transaction{
    string date;
    string code;
    string amount;
    string balance;


   /**** getter and setter ***/
}
  • 0
    JAXB делает такие вещи очень легкими. Посмотрите ответ Блеза на stackoverflow.com/questions/11221136/… за очень подробный пример.
  • 0
    @StephenCarlson tnx. но имена тегов не идентичны. <trans_1> <trans_2> и ... я не могу использовать @XmlElement(name="trans&qu (name = "trans") например
Показать ещё 2 комментария
Теги:
xml-parsing
jaxb

1 ответ

0
Лучший ответ

Я нашел решение с @XmlElements

@XmlAccessorType(XmlAccessType.FIELD)
public class DepositLast3CycleResponse extends BaseResponseBean {

    @XmlElements(
            {
                    @XmlElement(name = "trans_1"),
                    @XmlElement(name = "trans_2"),
                    @XmlElement(name = "trans_3")
            }
    )
    private List<TransactionInfo> transactions;


    /****** getters and setters ****/
}
  • 0
    Таким образом, он ограничен только 3 транзакциями. Вы нашли решение для любого количества транзакций?
  • 0
    @ponomandr сейчас я не могу найти глобальное решение для этой проблемы

Ещё вопросы

Сообщество Overcoder
Наверх
Меню