Нужна помощь в форматировании вывода JAXB

У меня есть несколько объектов, скажем, два, A и B. Эти объекты из одного класса. Мне нужно упорядочить эти объекты с помощью JAXB, и выходной XML должен быть в этой форме:

<code><Root>
    <A>
        <ID> an id </ID>
    </A>
    <B>
        <ID> an id </ID>
    </B>
</Root>

<!-- Then all A and B attributes must be listed !-->
<A>
    <ID> an id </ID>
    <attribute1> value </attribute1>
    <attribute2> value </attribute2>
</A>
<B>
    <ID> an id </ID>
    <attribute1> value </attribute1>
    <attribute2> value </attribute2>
</B>
</code>

Как сгенерировать этот формат в JAXB? Любая помощь приветствуется.

Update: Чтобы быть более конкретным, предположим, что у нас есть класс Human, подобный этому:

<code>@XmlRootElement
public class Human {
    private String name;
    private int age;
    private Integer nationalID;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Integer getNationalID() {
        return nationalID;
    }

    public void setNationalID(Integer nationalID) {
        this.nationalID = nationalID;
    }
}
</code>

и наш основной класс это:

<code>public class Main3 {

    public static void main(String[] args) throws JAXBException {
        Human human1 = new Human();
        human1.setName("John");
        human1.setAge(24);
        human1.setNationalID(Integer.valueOf(123456789));

        JAXBContext context = JAXBContext.newInstance(Human.class);
        Marshaller m = context.createMarshaller();
        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);

        StringWriter stringWriter = new StringWriter();

        m.marshal(human1, stringWriter);

        System.out.println(stringWriter.toString());
    }

}
</code>

Тогда вывод будет:

<code><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<human>
    <age>24</age>
    <name>John</name>
    <nationalID>123456789</nationalID>
</human>
</code>

Теперь мне нужно, чтобы вывод был таким:

<code><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<human>
    <nationalID>123456789</nationalID>
</human>
<human>
    <nationalID>123456789</nationalID>
    <age>24</age>
    <name>John</name>
</human>
</code>

И это поможет мне нарисовать дерево объектов XML без атрибутов (только по идентификатору), а затем, но со всеми определениями под деревом. Возможно ли это с помощью JAXB или любой другой реализации?

Ответы на вопрос(2)

Ваш ответ на вопрос