JAXB - пример отслеживания ключевого слова при демаршаллинге

В соответствии с этим вы можете использовать xs:key и xs:keyref при маршалинге и демаршаллинге данных в JAXB 2.x.

Тем не менее, я не могу найти работающий пример того, как это делается где-либо.

Что мы делаем, это устанавливаем раздел поиска в каждом сообщении XML, содержащем детали для значений ссылки / кода (идентификатор, имя, описание и т. Д.), И затем элементы данных позже в сообщении обращаются к этим элементам, используя их ключ. Схема XML определяет и поддерживает это с помощью xs:keyref и xs:key (xs:IDREF не допускается).

Я хотел бы, чтобы мой демаршаллер JAXB динамически следовал этим ссылкам, заменяя ключ ссылочным объектом.

Кто-нибудь может отослать меня к примеру, когда это делается?

1 ответ

Решение

Вы говорите о сложной ключевой ситуации?

<directory>
   <employee>
      <eID>123</eID>
      <country>CA</country>
   </employee>
   <employee>
      <eID>123</eID>
      <country>US</country>
   </employee>
   <employee>
      <eID>456</eID>
      <country>US</country>
   </employee>
   <phone-number>
      <contact eID="123" country="US"/>
   </phone-number>
</directory>

Если так, то можно использовать EclipseLink JAXB (MOXy):

Другие вопросы по тегам