2017-01-06 17 views
0

Я м в неблагоприятной ситуации. Я ищу «JAVA EXPRESSION» для замены определенного «держателя места» в чайнике.Java выражение для Pentaho Kettle

Моя входящая строка А

<consumers> 
?place-holder? 
</consumers> 

Моя входящая строка Y является

<consumer> 
    <info>X</info> 
</consumer> 

После подстановки конечный результат должен быть

<consumers> 
    <consumer> 
    <info>X</info> 
    </consumer> 
</consumers> 

В основном я подставляя? Место держатель ? в строке «String A» с «String B».

Фактически объем данных чрезвычайно высок и, следовательно, «javascript», «calculator» & «заменить в строке», и все другие варианты, которые я пробовал, являются патетичными по производительности.

Я читал, что «выражения Java» отличаются высокой производительностью. Так или иначе, я не могу придумать это выражение.

Любая помощь!

+0

Вы пробовали 'Regex Evaluation' и/или' XML Join'? –

+0

Соединение XML является жалкой в ​​производительности. То, что я пробовал в первую очередь. Regex также имеет низкую производительность. Кроме того, он не может придумать какой-либо точный REGEX. :( –

+0

Если ваш вход - это хорошо сформированный XML, тогда я бы лучше использовал шаг XML Input Stream (StAX), то есть SAX-парсер. Это быстро. –

ответ

0

Попробуйте. Само объяснил картину ниже

enter image description here

Не забудьте проверить с Java документ в строку, что выражение делает на самом деле.

Заменяет каждый подстроку данной строки, которая соответствует

+0

Спасибо за ваше время, но я не могу открыть изображение. Я нажимаю, он говорит «недействительный ответ». –

+0

Здесь находится https://i.stack.imgur.com/MirgB.png. Возможно, сайт www.imgur.com не работает. Попробуйте позже. – simar