I wanted to convert xml file to csv, some subnodes may or may not repeat under the parent node, if a subnode repeated then it needs to be a separate line in the output CSV file.
<Person>
<Person>
<personalInfoNav>
<PerPersonal>
<salutationNav>
<PicklistOption>
<externalCode>MR</externalCode>
</PicklistOption>
</salutationNav>
<lastName>Test Last Name</lastName>
<firstName>Test First Name</firstName>
<gender>M</gender>
<middleName>Test Middle</middleName>
<preferredName>Test Name</preferredName>
</PerPersonal>
</personalInfoNav>
<nationalIdNav/>
<personIdExternal>155999</personIdExternal>
<dateOfBirth>1982-02-01T00:00:00.000</dateOfBirth>
<employmentNav>
<EmpEmployment>
<compInfoNav>
<EmpCompensation>
<empCompensationGroupSumCalculatedNav>
<EmpCompensationGroupSumCalculated>
<amount>120000.0</amount>
</EmpCompensationGroupSumCalculated>
</empCompensationGroupSumCalculatedNav>
<startDate>2020-02-01T00:00:00.000</startDate>
</EmpCompensation>
<EmpCompensation>
<empCompensationGroupSumCalculatedNav>
<EmpCompensationGroupSumCalculated>
<amount>132000.0</amount>
</EmpCompensationGroupSumCalculated>
</empCompensationGroupSumCalculatedNav>
<startDate>2020-03-25T00:00:00.000</startDate>
</EmpCompensation>
<EmpCompensation>
<empCompensationGroupSumCalculatedNav>
<EmpCompensationGroupSumCalculated>
<amount>138000.0</amount>
</EmpCompensationGroupSumCalculated>
</empCompensationGroupSumCalculatedNav>
<startDate>2020-03-31T00:00:00.000</startDate>
</EmpCompensation>
<EmpCompensation>
<empCompensationGroupSumCalculatedNav>
<EmpCompensationGroupSumCalculated>
<amount>144000.0</amount>
</EmpCompensationGroupSumCalculated>
</empCompensationGroupSumCalculatedNav>
<startDate>2020-04-10T00:00:00.000</startDate>
</EmpCompensation>
<EmpCompensation>
<empCompensationGroupSumCalculatedNav>
<EmpCompensationGroupSumCalculated>
<amount>150000.0</amount>
</EmpCompensationGroupSumCalculated>
</empCompensationGroupSumCalculatedNav>
<startDate>2020-04-20T00:00:00.000</startDate>
</EmpCompensation>
<EmpCompensation>
<empCompensationGroupSumCalculatedNav>
<EmpCompensationGroupSumCalculated>
<amount>162000.0</amount>
</EmpCompensationGroupSumCalculated>
</empCompensationGroupSumCalculatedNav>
<startDate>2020-06-22T00:00:00.000</startDate>
</EmpCompensation>
</compInfoNav>
<jobInfoNav>
<EmpJob>
<costCenter>XS000001</costCenter>
<standardHours>35.0</standardHours>
<jobTitle>HR Manager</jobTitle>
<positionNav>
<Position>
<code>37777</code>
</Position>
</positionNav>
<fte>0.88</fte>
<startDate>2020-02-01T00:00:00.000</startDate>
</EmpJob>
<EmpJob>
<costCenter>COST0001</costCenter>
<standardHours>15.0</standardHours>
<jobTitle>HR Manager</jobTitle>
<positionNav>
<Position>
<code>37777</code>
</Position>
</positionNav>
<fte>0.38</fte>
<startDate>2020-03-05T00:00:00.000</startDate>
</EmpJob>
</jobInfoNav>
</EmpEmployment>
</employmentNav>
</Person>
</Person>
Below is the desired result. I tried in javascript something is missing or I am completely wrong.