cancel
Showing results for 
Search instead for 
Did you mean: 

Delete duplicate node using XSLT mapping

former_member312864
Active Participant
0 Kudos

Hello Friends,

I want to delete duplicate node using XSLT mapping . For example in the source xml multiple Expences node are there so In case of multiple Expenses node with similar content like 1st and 3rd Expenses node in input XML . In that case from output xml should display only first and second Expenses node.

Input XML

-----------------

<?xml version="1.0"?>

     <Root>

              <Expenses id="dtmId001">

                    <Expense>

                                 <seqnr>34</seqnr>

                                  <key>109</report_key>

                     </Expense>

                     <Expense>

                                 <seqnr>35</seqnr>

                                  <key>110</report_key>

                     </Expense>

               </Expenses>

           <Expenses id="dtmId002">

                     <Expense>

                              <seqnr>54</seqnr>

                              <key>112</report_key>

                    </Expense>

   

          </Expenses>

         <Expenses id="dtmId003">

                     <Expense>

                             <seqnr>34</seqnr>

                             <key>109</report_key>

                     </Expense>

                     <Expense>

                              <seqnr>35</seqnr>

                              <key>109</report_key>

               </Expense>

       </Expenses>

</Root>


Expected XML output

----------------------------------------


<?xml version="1.0"?>

     <Root>

              <Expenses id="dtmId001">

                    <Expense>

                                 <seqnr>34</seqnr>

                                 <key>109</report_key>

                     </Expense>

                     <Expense>

                                 <seqnr>35</seqnr>

                                 <key>110</report_key>

                     </Expense>

               </Expenses>

           <Expenses id="dtmId002">

                     <Expense>

                         <seqnr>54</seqnr>

                         <key>112</report_key>

                    </Expense>

              </Expenses>

     </Root>

Accepted Solutions (0)

Answers (2)

Answers (2)

RaghuVamseedhar
Active Contributor
0 Kudos

Sarojkanta,

XSLT 2.0 can handle duplicates easily.

Removing duplicates in xml with xslt - Stack Overflow

FYI.

former_member184619
Active Contributor
0 Kudos

Hi Sarojkanta,

Not sure, what exactly is your requirement.

In case you just need this unique object. You can try below graphical mapping.

Expense ->remove context -> Split by value (Value change) -> collapse context

Regards,

Sachin Dhingra