Jaxb Unmarshaller - Как сделать пустой элемент даты действительным?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Jaxb Unmarshaller - Как сделать пустой элемент даты действительным?

Сообщение Anonymous »

Скажи, я имею, например, этот XML < /p> , где chounctvalidto определяется в XSD как xs: dateTime . У меня есть классы Java, сгенерированные из XSD с использованием Jaxb2-maven-plugin. < /P>
jaxb unmarshaller (

Код: Выделить всё

org.springframework.oxm.jaxb.Jaxb2Marshaller
) не удастся на этом XML (

Код: Выделить всё

IllegalArgumentException
в Java), потому что пустое значение не может быть проанализировано как дата. Я это понимаю. Очевидное решение - полностью исключить элемент. Тем не менее, эти XML поступают с сторонней стороны, поэтому я не контролирую то, что они посылают. Да, они должны соблюдать спецификацию и производить/отправлять действительный XML, однако, убедить их сделать это длинный выстрел, поэтому я бы предпочел иметь решение на моей стороне. (Я бы предпочел решение только для XSD, если бы он существует - например, в рассматриваемом поле в сгенерированном классе была бы некоторая аннотация, которая бы сообщила бы Unmarshaller делать то, что мне нужно. Добавление аннотации там не является на самом деле вариант, так как класс генерируется. Или, возможно, Org.springframework.oxm.jaxB.JaxB2marShaller

Подробнее здесь: https://stackoverflow.com/questions/797 ... ment-valid
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»