私の入力xml:
<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>
私が試したデータウィーブ構成:
%dw 1.0
%input payload application/xml
%output application/csv
---
payload.root.*Element[0].*Record map {
(id:$.@att) when ($.@att) == "g" or ($.@att) == "t",
(type:($.@att) when ($.@att) == "g" or ($.@att) == "t"
}
o/pi が私の csv に入っています:
id,type (headers)
blanklines
.
.
.
g,g
.
.
.
.
t,t
.
.
要件は明確です。Element[0] のレコードだけが必要です。私の o/p CSV には空白行があってはなりません。予想される出力は次のとおりです。
id,type
g,g
t,t
ループのための dataweave の構文と概念をまだ理解できませんでした。私を助けてください。より良い解決策は受け入れられます。