В dataweave преобразование многострочного списка списка в XML в один массив в json - PullRequest
0 голосов
/ 17 мая 2019

В dataweave я хочу преобразовать приведенный ниже сложный xml в вывод json, как показано ниже:

<Message>
    <Shipment>
        <Containers>
            <Container TrackingNo="Abc1" />
         </Containers>
    </Shipment>
    <Shipment>
        <Containers>
            <Container TrackingNo="Abc2" />
            <Container TrackingNo="Abc3" />
        </Containers>
    </Shipment>
    <Shipment>
        <Containers>
            <Container TrackingNo="Abc4" />
            <Container TrackingNo="Abc5" />
            <Container TrackingNo="Abc6" />
        </Containers>
    </Shipment>
</Message>

Я хочу получить вывод в формате ниже JSON после преобразования в dataweave:

tracking_no:[
    {
        TrackingNo="Abc1"
    },
    {
        TrackingNo="Abc2"
    },
    {
        TrackingNo="Abc3"
    },
    {
        TrackingNo="Abc4"
    },
    {
        TrackingNo="Abc5"
    },
    {
        TrackingNo="Abc6"
    }
]

1 Ответ

4 голосов
/ 17 мая 2019

Вы можете использовать селектор потомков, а затем использовать атрибуты селекторов

%dw 2.0
output application/json
---
tracking_no: payload..*Container.@
...