Сопоставление как элемента xml, так и его атрибута с использованием BeanIO

Я хотел бы сопоставить тег totalAmt в XML-файле ниже, как его значение 100, так и его атрибут Ccy.

<?xml version="1.0" encoding="UTF-8"?>
<transaction>
   <id>
       <eId>transactionId001</eId>
   </id>
   <amount>
       <totalAmt Ccy="XXX">100</totalAmt>
   </amount>
</transaction>

Прочитав справочное руководство по BeanIO и сообщения здесь, у меня сложилось впечатление, что только один из них может быть сопоставлен.

Итак, мой вопрос: может ли BeanIO обрабатывать этот тег, и не могли бы вы показать мне, как это сделать?

Что я пробовал и не работал:

<segment name="amount">
    <field name="totalAmount" xmlName="totalAmt"></field>
    <field name="currency" xmlName="Ccy" xmlType="attribute"></field>
</segment>

person sarahTheButterFly    schedule 07.09.2015    source источник


Ответы (1)


Закрыть, но вам все еще нужно добавить элемент segment внутри тега segment, чтобы указать, какому полю принадлежит атрибут.

пример.

<segment name="amount">
    <field name="totalAmount" xmlName="totalAmt"></field>
    <segment name="totalAmt">
        <field name="type" xmlName="Ccy" xmlType="attribute"></field>
    </segment>
</segment>
person kucing_terbang    schedule 07.09.2015
comment
Оно работает! Что-то не так с моей учетной записью, я не могу проголосовать и выбрать этот ответ. Он продолжает говорить что-то не так с вашим запросом, попробуйте еще раз. У кого-нибудь есть идеи, почему? - person sarahTheButterFly; 08.09.2015
comment
повезло тебе ;). Ну, наверное какая-то ошибка на SO. попробуйте выйти из системы, удалить весь кеш и повторить попытку - person kucing_terbang; 08.09.2015