JAXB - можно ли сгладить содержание классов при маршалинге в XML?

Скажем, у меня есть два класса:

@XmlRootElement
class A {
    @XmlElement
    String propertyOfA;
    @XmlElement
    B b;
}

class B {
    @XmlElement
    String propertyOfB;
} 

JAXB возвращает форматированный XML соответствующим образом:

<a>
  <propertyOfA>valueA</propertyOfA>
  <b>
    <propertyOfB>valueB</propertyOfB>
  </b>
</a>

Мой вопрос: как сгладить иерархию в XML? Итак, у меня есть:

<a>
  <propertyOfA>valueA</propertyOfA>
  <propertyOfB>valueB</propertyOfB>
</a>

Можно ли это сделать с помощью аннотаций?

Сейчас я думаю чтобы создать своего рода класс-оболочку для A, в котором поля будут построены так, как я хочу видеть их в XML. Есть ли способ лучше?

5
задан Alvis 3 December 2011 в 17:32
поделиться