没有父元素的JAXB-marshall

没有父元素的JAXB-marshall,jaxb,xmladapter,Jaxb,Xmladapter,有两个JavaBean A和B,还有两个字符串C和D。 有一个结构 A --B ----C ----D 我可以将对象转换为Xml <A> <B> <C>ccc</C> <D>ddd</D> </B> </A> ccc ddd 在某些情况下,我希望像这样将XML转换成XML <A> <C>ccc</C> <D>ddd

有两个JavaBean A和B,还有两个字符串C和D。 有一个结构

A
--B
----C
----D
我可以将对象转换为Xml

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

ccc
ddd
在某些情况下,我希望像这样将XML转换成XML

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

ccc
ddd
没有B标签。 可以通过XMLAdapter或其他方式完成。 如果它有一些动态的方式,这是最好的。
谢谢。

注意:我是专家组的负责人和成员

对于此用例,您可以利用MOXy的
@XmlPath
扩展:

import javax.xml.bind.annotation.*;
导入org.eclipse.persistence.oxm.annotations.XmlPath;
@XmlRootElement(name=“A”)
@XmlAccessorType(XmlAccessType.FIELD)
公共A类{
@XmlPath(“.”)
私人B,;
}
了解更多信息


谢谢,JAXB(JSR-222)支持任何方式吗?我尝试了这种方法和您博客中的示例,但
JAXB编组
@XmlPath
中仍然无法按预期工作。似乎使用和不使用
@XmlPath
生成的XML是相同的。请您研究一下这个例子并给出您的答案: