У меня есть следующий XML, который я хочу разобрать с помощью JAXB:
<?xml version="1.0" encoding="UTF-8"?>
<questions>
<question id="1">
<text>What is the capital of Germany?</text>
<correctAnswer>2</correctAnswer>
<answers>
<answer id="1">
<text>Munich</text>
</answer>
<answer id="2">
<text>Berlin</text>
</answer>
</answers>
</question>
<question id="2">
<text>What is the capital of France?</text>
<correctAnswer>1</correctAnswer>
<answers>
<answer id="1">
<text>Paris</text>
</answer>
<answer id="2">
<text>Marseille</text>
</answer>
</answers>
</question>
</questions>
Я хочу создать HashMap:
HashMap<String, Question>
из которого я могу получить вопросы по их идентификатору.
Каждый объект вопроса также должен иметь Hashmap:
HashMap<String, Answer>
откуда я могу получить ответы по их ID.
Я начал с использования кода из этого потока: JAXB неупорядочивает элементы XML в HashMap
Теперь у меня две проблемы/вопроса:
Принятый ответ в этом потоке предлагает использовать "@XmlPath(".")", но для этого я должен импортировать плагин eclipse:
import org.eclipse.persistence.oxm.annotations.XmlPath;
Но я использую IntelliJ и не знаю, какой альтернативный импорт использовать, чтобы это заработало.
Даже если предложенное решение "@XmlPath(".")" заработает, я все равно не знаю, как реализовать свойство HashMap в объекте вопроса (содержащем ответы).
XmlPath
, XmlAdapter, кажется, работает довольно хорошо без нее. Дубликат имеет несколько ссылок с рабочими примерами. - person tima   schedule 24.08.2017