В какой структуре Java мне следует хранить записи XML? - PullRequest
1 голос
/ 06 июля 2011

Хорошо, так что я все еще относительно новичок в Java, и у меня довольно хороший прогресс.Моя задача заключается в следующем:

  1. Создание запроса SOAP для инициирования связи с сервером веб-служб (готово)
  2. Извлечение результирующего XML-файла, который содержит уникальный идентификатор сеанса, который должен использоваться вшаг 3 (выполнено)
  3. Создайте еще один запрос SOAP, используя уникальный идентификатор сеанса, который возвращает другой набор XML, содержащий 100 строк записей (выполнено)
  4. Извлечение определенных данных из этих результатов (в процессе)

Мой вопрос: каков наилучший способ хранения этих данных в Java, чтобы я мог легко их отсортировать?Часть данных моего XML выглядит следующим образом:

<RawData>
<item value="1" anothervalue="2" yetanothervalue="3"/>
<item value="4" anothervalue="5" yetanothervalue="6"/>
<item value="7" anothervalue="8" yetanothervalue="9"/>
</RawData>

У меня нет проблем с использованием XPath и SimpleXPathEngine для получения определенных значений из XML.Но мне бы очень хотелось иметь возможность хранить его в некоторой структуре типа ResultSet, чтобы я мог легко находить и манипулировать ею.Я использовал ResultSet с SQL-запросами, так что я знаком с ним и знаком с ним, однако я не уверен, как использовать его вне реального соединения с БД и запроса.Что было бы лучшим способом справиться с этим?

Заранее спасибо!

Ответы [ 3 ]

4 голосов
/ 06 июля 2011

Если документ не такой большой, вы можете использовать DOM-парсер, чтобы получить все данные в памяти.Это либо org.w3c.dom, dom4j , либо jdom

2 голосов
/ 06 июля 2011

Вы можете хранить данные в базе данных только для памяти. hsqldb поддерживает эту функцию.

2 голосов
/ 06 июля 2011

Что ж, поскольку ваши данные кажутся простыми и регулярными, я лично использую JAXB - вы можете создавать классы вручную или использовать какой-либо инструмент для их генерации из схемы XML.

Таким образом, вы можете легко работать со списком ваших классов и использовать вашу обычную Java для доступа к данным или манипулирования ими, также вы можете легко игнорировать поля, которые вам не нужны в вашем представлении Java, так что ваши классы будут только охватите те части XML-файла, которые вам действительно интересны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...