Когда JAXB маршалирует объект даты ( XMLGregorianCalendar
) в элемент xsd: dateTime. Как указать формат результирующего XML?
Например: в формате данных по умолчанию используются миллисекунды, <StartDate>2012-08-21T13:21:58.000Z</StartDate>
мне нужно опустить миллисекунды. <StartDate>2012-08-21T13:21:58Z</StartDate>
Как я могу указать формат вывода / даты, который я хочу использовать? Я использую javax.xml.datatype.DatatypeFactory
для создания XMLGregorianCalendar
объекта.
XMLGregorianCalendar xmlCal = datatypeFactory.newXMLGregorianCalendar(cal);
источник
Class has two properties of the same name "timeSeries"
ошибку - это было решено путем размещения аннотации в получателе, а не на уровне члена. (Спасибо @megathor из stackoverflow.com/questions/6768544/… )Я использую SimpleDateFormat для создания XMLGregorianCalendar, например, в этом примере:
Первый метод создает экземпляр XMLGregorianCalendar, который форматируется XML-маршаллером как допустимый xsd: date, второй метод дает допустимый xsd: dateTime.
источник
Для меня очень простой способ. Форматирование XMLGregorianCalendar для маршалинга в java.
Я просто создаю свои данные в хорошем формате. Это
toString
будет называться производящим хороший результат.источник
https://www.baeldung.com/jaxb
источник
Применение:
LocalDateAdapter
источник