2013-09-25 42 views
1

我Booking.java如何从逻辑上使用JAXB对元素进行分组?

@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> 

但我想输出到像下面

<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> 

我有选中了XMLElementWrapper,但它适用于Collection。 注意:我无法更改我的pojo Booking.java

回答

0

如果您正在使用莫西为您的JAXB提供者(我是莫西)带领您可以使用@XmlPath扩展该用例:

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

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

相关问题