2014-05-14 3 views
1

Требуемое предложение ниже.В Biztalk mapper, как использовать концепцию разделенного массива

Мы имеем отображение 850 к FlatFile

X12/PO1Loop1/PO1/Po109 и мне нужно отобразить в поле VALUE, которая находится под звукозаписывающей вариант, который неограничен.

Split Po109 в подстроки, разделённых «», Еогеасп subsring после первого, создать новый вариант со значением = подстрокой

Таким образом, в входной выборке мы имеем значение как 147895632qwerqtyuui.789456123321456987

Аналогично поле повторы под POLoop1.

Поэтому мне нужно разделить значение на основе (.), А затем передать значение в поле значения в опции записи (без ограничений).

Я попытался использовать ниже фрагмент кода

public string SplitValues(string strValue) 
{ 

string[] arrValue = strValue.Split(".".ToCharArray()); 
foreach (string strDisplay in arrValue) 
{ 
return strDisplay; 
} 

} 

Но это не работает, и я не очень знаком с методами Струнные и я не уверен, что есть простой способ сделать это. У меня есть String, который содержит пару значений, разделенных символом "." ,

Поэтому мне нужно отделить значения на основе разделителя (.) И передать значение в поле.

Как я могу это сделать

+0

Вопрос не совсем ясен, пытаетесь ли вы сопоставить каждое из значений split в нескольких узлах в выходной схеме, например '' 11.12 "' -> '[11, 12]', а результат - 'и' '? –

ответ

0

Как я уже говорил, не слишком ясно, что это ваша цель, но я думаю, что вы хотите разделить узел, который имеет какое-то разделитель в нескольких узлов ... если да, то попробуйте это: https://seroter.wordpress.com/2008/10/07/splitting-delimited-values-in-biztalk-maps/

Он делает именно это. Учитывая, что узел имеет значение a|b|c|d, выведите несколько узлов, каждый из которых содержит значение после разбиения на |, поэтому node1 = a, node2 = b, node3 = c, node4 = d.

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