Моя задача состоит в том, чтобы «сплющить» трехуровневую структуру в двухуровневую структуру.
Я перебираю трехуровневую структуру в XML, и я сопоставляю поля «Level3» с «Level2», и этоработает нормально, но мне также нужен индекс 'Level2' в одном из отображений 'Level3'.
Поэтому моя проблема заключается в том, чтобы "получить Level2.index () во время итерации Level3".
Надеюсь, вы можете помочь: -)
XML structure (IN):
-----------------------
<?xml version="1.0" encoding="UTF-8"?>
<ns:Level1 xmlns:ns="urn:aaaa:bbbb:cccc">
<Level2>
<Level3>
</Level3>
<Level3>
</Level3>
</Level2>
<Level2>
<Level3>
</Level3>
<Level3>
</Level3>
</Level2>
</ns:Level1>
XML structure (OUT):
-----------------------
<?xml version="1.0" encoding="UTF-8"?>
<ns:Level1 xmlns:ns="urn:aaaa:bbbb:cccc">
<Level2>
</Level2>
<Level2>
</Level2>
<Level2>
</Level2>
<Level2>
</Level2>
</ns:Level1>
Dataweave 2.0 Code:
-----------------------
(payload.ns0#Level1.*Level2.*Level3 map ( level3 , indexOfLevel3 ) -> {
Level3Index: payload.ns0#Level1.*Level2.index()?? "",
})