Маршалировать поле / свойство в xml-элементе с дополнительным xml-атрибутом name = propertyName

У меня есть объект java, например:

public class Person {
    private String firstName = "Harry";
    private String lastName = "Hacker";
    private int age = 30;
}

, который я хотел бы упорядочить в следующий xml:

<attribute xsi:type="someType" name="Person">
  <attribute xsi:type="CustomStringType" name="firstName">
    <value>Harry</value>
  </attribute>
  <attribute xsi:type="CustomStringType" name="lastName">
    <value>Hacker</value>
  </attribute> 
  <attribute xsi:type="CustomIntType" name="age">
    <value>30</value>
  </attribute>
</attribute>

, так что я хочу сделать все объекты в Человеке (и самом человеке) должен иметь атрибут xml-element "attribute" и иметь этот xml-элемент с атрибутом "name", который представляет имя поля (предположим, что Person используется как поле в классе, а не показано здесь). Кроме того, я хочу упорядочить «примитивные типы», чтобы у элемента «значение» было соответствующее значение. Можно ли это сделать с помощью JaxB? Если да, то как? Какие еще решения вы видите, когда требуется, чтобы было легко (т.е. просто добавить некоторые аннотации к новому полю) добавлять новые «атрибуты» (например, поля (например, адрес человека) в структуру xml / class ?

1
задан Korgen 7 October 2010 в 06:44
поделиться