Я дешифровал XML-данные, используя JAXB (и немного Saxon для XSLT). В моем XML-документе у меня есть значение строки даты.XMLAdapter: Конфигурируемый формат даты
Я провел некоторое исследование и экспериментировал с XMLAdapter и @XMLJavaTypeAdapter. Я нашел полезный Q & A на StackOverflow здесь: jaxb unmarshal timestamp. Решение, описанное там с использованием SimpleDateFormat, похоже, хорошо работает.
Вот моя проблема: формат строки даты в XML варьируется от документа к документу. Он может быть в другом формате даты каждый раз. В текущей системе (которую я заменяю на все эти манипуляции с XML) в форматах базы данных есть форматы дат, которые извлекаются и применяются при анализе XML-документа. Вручную. Построчно. (Теперь вы видите, почему я заменить его с JAXB, Иш!)
Так что вопрос будет: Как бы я изменить из строки формата даты, подаваемый в SimpleDateFormat в XMLAdapter для различных документов? Возможно ли такое? Неужели я обречен на чтение строки даты в виде строки, а затем преобразование ее в дату где-то еще позже?
Редактировать: Я просто собирался удалить этот вопрос, но он встал на голосование, поэтому, я думаю, я напишу правильный ответ на вопрос о том, что я сделал. Я собираюсь отложить принятие моего собственного ответа на некоторое время, если у кого-то есть понимание, которое приведет к еще лучшему ответу.
Было бы полезно, если бы вы предоставили образцы разных типов, с которыми вы сталкиваетесь. Предполагая, что это стандартный набор вариаций, должно быть возможно написать интеллектуальный парсер, который может обрабатывать разные форматы. –
- это форматы, привязанные к определенным элементам, или же один и тот же элемент имеет разные форматы? – jtahlborn
Один и тот же элемент может иметь разные форматы дат. –