用于详细OTA XML的jaxb注释

用于详细OTA XML的jaxb注释,jaxb,Jaxb,为了我的罪,我和你一起工作。它包含详细的元素,例如: <FlightInfo> <Success /> <DepartureAirport LocationCode="LHR" /> <ArrivalAirport LocationCode="LAX" /> </FlightInfo> 使用JAXB,推荐的方法是什么?对所有这些元素使用XmlJavaTypeAdapter?注意:我是专家组的负责人和成员 您可以

为了我的罪,我和你一起工作。它包含详细的元素,例如:

<FlightInfo>
    <Success />
    <DepartureAirport LocationCode="LHR" />
    <ArrivalAirport LocationCode="LAX" />
</FlightInfo>

使用JAXB,推荐的方法是什么?对所有这些元素使用XmlJavaTypeAdapter?

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

您可以将MOXy中的
@XmlPath
扩展名用于
出发机场
到达机场
字段:

   @XmlPath("DepartureAirport/@LocationCode")
   private String departureAirport;

   @XmlPath("ArrivalAirport/@LocationCode")
   private String arrivalAirport;
您可以使用
XmlAdapter
表示
boolean
字段
success
是否存在
success
元素:

   @XmlJavaTypeAdapter(SuccessAdapter.class)
   private boolean success;
FlightInfo

下面是您的
FlightInfo
类在使用MOXy和JAXB注释时的外观:

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

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

   @XmlJavaTypeAdapter(SuccessAdapter.class)
   private boolean success;

   @XmlPath("DepartureAirport/@LocationCode")
   private String departureAirport;

   @XmlPath("ArrivalAirport/@LocationCode")
   private String arrivalAirport;

}
了解更多信息

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

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

   @XmlJavaTypeAdapter(SuccessAdapter.class)
   private boolean success;

   @XmlPath("DepartureAirport/@LocationCode")
   private String departureAirport;

   @XmlPath("ArrivalAirport/@LocationCode")
   private String arrivalAirport;

}