моего входного XML:Looping с помощью dataweave
<Root>
<Element>
<Record att="a">value</Record>
<Record att="b">value</Record>
.
.
<Record att="g">value</Record>
<Record att="h">value</Record>
.
.
<Record att="p">value</Record>
.
.
<Record att="t">value</Record>
.
.
<Record att="w">value</Record>
.
.
<Record att="z">value</Record>
</Element>
<Element>
<Record att="a">value</Record>
<Record att="b">value</Record>
.
.
<Record att="g">value</Record>
<Record att="h">value</Record>
.
.
<Record att="p">value</Record>
.
.
<Record att="t">value</Record>
.
.
<Record att="w">value</Record>
.
.
<Record att="z">value</Record>
</Element>
.
.
.
.
.
.
</Root>
В dataweave конфигурации я пытался:
%dw 1.0
%input payload application/xml
%output application/csv
---
payload.root.*Element[0].*Record map {
(id:[email protected]) when ([email protected]) == "g" or ([email protected]) == "t",
(type:([email protected]) when ([email protected]) == "g" or ([email protected]) == "t"
}
о/р получил в моем формате CSV:
id,type (headers)
blanklines
.
.
.
g,g
.
.
.
.
t,t
.
.
Требование ясно , Мне нужны только записи элемента [0]. У моего CS/CS нет пустых строк. Ожидаемый результат должен быть:
id,type
g,g
t,t
Я couldnot до сих пор понять синтаксис и концепции dataweave для зацикливания. Пожалуйста, помогите мне. Любое лучшее решение принято.
Пожалуйста, помогите мне –