例如 以下空值的节点不需要生成:
<OperationalDateTime>
<DispatchDateTime>
<AircraftDispatchDateTime/>
</DispatchDateTime>
<DoorCloseDateTime>
<ActualDoorCloseDateTime/>
</DoorCloseDateTime>
<OffBlockDateTime>
<ActualOffBlockDateTime/>
</OffBlockDateTime>
<TakeOffDateTime>
<ActualTakeOffDateTime>2019-06-14T08:44:00</ActualTakeOffDateTime>
</TakeOffDateTime>
<NextAirportArrivalDateTime>
<EstimatedNextAirportArrivalDateTime/>
<ActualNextAirportArrivalDateTime/>
</NextAirportArrivalDateTime>
</OperationalDateTime>
/**
* JavaBean转换成xml
* @param obj
* @param encoding
* @return
*/
public static String convertToXml(Object obj, String encoding) {
String result = null;
try {
JAXBContext context = getJaxbContext(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.setProperty(Marshaller.JAXB_ENCODING, encoding);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
result = writer.toString();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}