JAXB маршал без родительского элемента

Есть два JavaBean A и B. и 2 String C и D. Есть структура

A
--B
----C
----D

Я могу маршаллировать объект A в Xml

<A>
  <B>
   <C>ccc</C>
   <D>ddd</D>
  </B>
</A>

И в некоторых случаях я хотел бы добавить A в XML, как это

<A>
   <C>ccc</C>
   <D>ddd</D>
</A>

Без тега B. это может быть сделано с помощью XMLAdapter или другими способами. это лучше, если у него есть несколько динамических способов. Благодарю.

1 ответ

Примечание: я являюсь лидером EclipseLink JAXB (MOXy) и являюсь членом экспертной группы JAXB (JSR-222).

Вы могли бы использовать МОКСИ @XmlPath расширение для этого варианта использования:

import javax.xml.bind.annotation.*;
import org.eclipse.persistence.oxm.annotations.XmlPath;

@XmlRootElement(name = "A")
@XmlAccessorType(XmlAccessType.FIELD)
public class A {

    @XmlPath(".")
    private B b;

}

Для дополнительной информации

Другие вопросы по тегам