develNotes

/*айтишные заметки*/

23.09.2012

Автоматизация маппинга XML - Java.

Я уже упоминал об одном из способов связывания Java классов с их XML представлением - JAXB. Если стоит задача создания структуры Java классов для преобразования данных из XML документа заданного формата с помощью JAXB, то для этого обычно используется утилита jaxb-xjc (Java Architecture for XML Binding Binding Compiler): достаточно иметь XSD файл со схемой документа, чтобы сгенерировать структуру классов. А что если схемы нет, а есть только пример самого XML документа? Конечно, ничто не мешает создать классы для JAXB вручную, но если исходные XML данные сложны по структуре и велики по объему - то зачастую это может оказаться лишней тратой времени. С помощью утилиты  trang можно создать схему на основе примера XML. Допустим есть такой XML файл и нам нужно создать соответствующие ему Java классы для JAXB: example.xml:
<data type="dictionaries">
 <dictionary name="buildings">
 <itemnum>2</itemnum>
 <comment>Buildings</comment>
 <element>
  <id>0</id>
  <name>building 1</name>
  <cost>10000.50</cost>
 </element>
 <element>
  <id>1</id>
  <name>building 2</name>
  <cost>20000.50</cost>
 </element>
 </dictionary>
</data>
Теги: jaxb java programming xml     Далее

03.04.2013

Связывание XML данных с помощью Castor.

В Java для связывания данных с их XML представлением существует несколько способов (например JAXB: использование JAXB, автоматизация JAXB маппинга). Хотелось бы рассказать про использование одного из них - Castor. Castor это фреймворк, обеспечивающий связывание Java объектов с их XML представлением или с представлением в реляционных базах данных. Использование JAXB подходит во многих случаях, но маппинг XML/Java с помощью Castor обеспечивает большую гибкость. Он позволяет использовать несколько режимов связывания - как простой, так и более сложные, в которых доступно множество возможностей для тонокой настройки формата связываемых данных. Итак, давайте посмотрим, какие это режимы, как и когда их лучше использовать, а также как упростить процесс связывания.
Теги: xml java     Далее