2012-05-10 3 views
0

Привет, я использую парсер FlatFile для biztalk (используя XML-схему) для разделения файла CSV. Файл CSV иногда содержит недопустимую дату - 1/1/1900. В настоящее время проверка схемы для плоского файла не выполняется из-за недопустимой даты. Есть ли какой-либо параметр, который я могу использовать, чтобы позволить использовать дату?XML-схема - разрешить недопустимые даты

Я не хочу читать дату как строку. Я мог бы быть вынужден, если нет другого пути.

ответ

2

Вы можете изменить его на valid XML date time (например, 1900-01-00: 00: 00Z) с использованием настраиваемого компонента конвейера (см. Примеры here). Или вы можете просто рассматривать его как строку в своей схеме и заниматься конвертированием ее позже на карте, в оркестровке или в нисходящую систему.

Вот фрагмент C#, который вы можете поместить в скриптовый функционал внутри карты BizTalk, чтобы преобразовать строку в xs: dateTime, хотя вам нужно будет сделать еще одну работу, если вы хотите справиться с потенциалом плохого входные данные:

public string ConvertStringDateToDateTime(string param1) 
{ 
    return DateTime.Parse(inputDate).ToString("s",System.Globalization.DateTimeFormatInfo.InvariantInfo); 
} 

Также см this blog post, если вы хотите, чтобы сделать это в нескольких местах в одной карте.

Смежные вопросы