Java 如何使用JAXB对元素进行逻辑分组?

Java 如何使用JAXB对元素进行逻辑分组?,java,jaxb,Java,Jaxb,我有Booking.java @XmlRootElement(name="booking") @XmlAccessorType(XmlAccessType.FIELD) class Booking{ @XmlElement(name="name", required = true, nillable = true) private String name; @XmlElement(name="contact",required = true, nillable = tr

我有Booking.java

@XmlRootElement(name="booking")
@XmlAccessorType(XmlAccessType.FIELD)
class Booking{
    @XmlElement(name="name", required = true, nillable = true)
    private String name;

    @XmlElement(name="contact",required = true, nillable = true)
    private int contact;

    @XmlElement(name="startDate", required = true, nillable = true)
    private Date startDate;

    @XmlElement(name="endDate", required = true, nillable = true)
    private Date endDate;

    @XmlElement(name="address", required = true, nillable = true)
    private String address;
}
我正在使用JAXB对其进行marsheling,显示的输出如下

<booking>
    <name>RAHUL</name>
    <contact>9898989898</contact>
    <startDate>2013-08-12T00:00:00+05:30</startDate>
    <endDate>2013-01-12T00:00:00+05:30</endDate>
    <address>Mumbai</address>
</booking>

拉胡尔
9898989898
2013-08-12T00:00:00+05:30
2013-01-12T00:00:00+05:30
孟买
但我希望输出如下

<booking>
    <PersonalDetails>
          <name>RAHUL</name>
          <contact>9898989898</contact>
    </PersonalDetails>

    <startDate>2013-08-12T00:00:00+05:30</startDate>
    <endDate>2013-01-12T00:00:00+05:30</endDate>
    <address>Mumbai</address>
</booking>

拉胡尔
9898989898
2013-08-12T00:00:00+05:30
2013-01-12T00:00:00+05:30
孟买
我已经检查了XMLElementWrapper,但它可以用于集合。
注意:我无法更改我的pojo预订。java

创建类PersonalDetails(带有姓名和联系人)并将其用作属性。

如果您使用MOXy作为您的JAXB提供商(我是MOXy),您可以使用此用例的
@XmlPath
扩展:

@XmlPath("PersonalDetails/name/text()")