0
votes

I'm using the xml() function in Azure Logic app to convert a JSON formatted text to XML.

My function:

xml(json(concat('{"root":', string(variables('JsonObject')), '}')))

My issue is that the XML file on conversation automatically sorts itself in alphabetical order. I need the order of elements in XML to be the same as the order in my JSON text.

Please noticed how the order of elements has been sorted in below examples.

JSON INPUT EXAMPLE:

{
    "Employee": [
        {
            "Company": [
                {
                    "Code": "",
                    "Name": "",
                    "ActiveUntil": "2021-12-12T00:00:00",
                    "CompanyType": [
                        {
                            "Code": ""
                        }
                    ]
                }
            ]
        },
        {
            "EmailAddress": "",
            "GivenName": "",
            "MobilePhoneNumber": "",
            "EndDate": "2021-12-12T00:00:00",
            "Surname": "",
            "Updated": "2021-12-12T00:00:00"
        }
    ]
}

XML OUTPUT:

<Employees>
<Employee>
    <Company>
        <ActiveUntil>2021-12-12T00:00:00</ActiveUntil>
        <Code></Code>
        <CompanyType>
            <Code></Code>
        </CompanyType>
        <Name></Name>
    </Company>
</Employee>
<Employee>
    <EmailAddress></EmailAddress>
    <EndDate>2021-12-12T00:00:00</EndDate>
    <GivenName></GivenName>
    <MobilePhoneNumber></MobilePhoneNumber>
    <Surname></Surname>
    <Updated>2021-12-12T00:00:00</Updated>
</Employee>