Ниже приведен пример кода.
public class Test {
public static void main(String[] args) throws DatatypeConfigurationException {
GregorianCalendar cal = new GregorianCalendar();
XMLGregorianCalendar xmlBirthDt = DatatypeFactory.newInstance().newXMLGregorianCalendarDate(cal.get(Calendar.YEAR),
cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_MONTH), DatatypeConstants.FIELD_UNDEFINED);
XStream x = new XStream();
x.alias("date", XMLGregorianCalendar.class);
x.addDefaultImplementation(com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl.class, javax.xml.datatype.XMLGregorianCalendar.class);
String g = x.toXML(xmlBirthDt);
System.out.println(g);
}
}
И ниже вывод
<date>
<year>2018</year>
<month>10</month>
<day>15</day>
<timezone>-2147483648</timezone>
<hour>-2147483648</hour>
<minute>-2147483648</minute>
<second>-2147483648</second>
</date>
Ниже приведено то, что я ожидаю (когда сгенерированный XML проверен по схеме,это выдает ошибки: элемент date имеет дочерние элементы, которые не принимаются)
<date>10-15-2018</date>
Я не могу изменить используемые библиотеки или изменить схему, поскольку это изменение существующей огромной базы кода.Пожалуйста, помогите мне.