Multiple XML files merge into one XML file in SSIS

45 Views Asked by At

I have multiple XML files in a folder location which I needed support to merge them into a single XML file in SSIS Example:

File1.XML

<Email>
    <EmailReceivedDTM>2024-01-30 20:37:17</EmailReceivedDTM>
    <EmailSubject>Fax sent </EmailSubject>
    <EmailBody>&lt;![CDATA[ your message was sent with error]]&gt;</EmailBody>
</Email>

File2.XML

<Email>
    <EmailReceivedDTM>2024-01-30 20:07:07</EmailReceivedDTM>
    <EmailSubject>Fax LoremIpsumLoremIpsumLoremIpsum </EmailSubject>
    <EmailBody>[CDATA[ your LoremIpsumLoremIpsumLoremIpsum message with subject: In    LoremIpsumLoremIpsumLoremIpsum  Response to: 234567 sent to '73634933439' Successfull]] </EmailBody>
</Email>

File3.XML

<Email>
    <EmailReceivedDTM>2024-01-30 19:23:21</EmailReceivedDTM>
    <EmailSubject>LoremIpsum </EmailSubject>
    <EmailBody>[CDATA[ your LoremIpsumLoremIpsumLoremIpsum message with subject: In Response to: 3467 sent to '389343934' Successfull]]</EmailBody>
</Email>

File4.xml

<Email>
    <EmailReceivedDTM>2024-01-30 19:07:17</EmailReceivedDTM>
    <EmailSubject>LoremIpsum Fax sent </EmailSubject>
    <EmailBody>[CDATA[LoremIpsumLoremIpsumLoremIpsum 8384384 LoremIpsumLoremIpsumLoremIpsum LoremIpsumLoremIpsumLoremIpsum 934834932]]</EmailBody>
</Email>

Needed a new Merged File like this:

<Email>
    <EmailReceivedDTM>2024-01-30 20:37:17</EmailReceivedDTM>
    <EmailSubject>Fax sent </EmailSubject>
    <EmailBody>&lt;![CDATA[ your message was sent with error]]&gt;</EmailBody>
</Email>
<Email>
    <EmailReceivedDTM>2024-01-30 20:07:07</EmailReceivedDTM>
    <EmailSubject>Fax LoremIpsumLoremIpsumLoremIpsum </EmailSubject>
    <EmailBody>[CDATA[ your LoremIpsumLoremIpsumLoremIpsum message with subject: In LoremIpsumLoremIpsumLoremIpsum  Response to: 234567 sent to '73634933439' Successfull]] </EmailBody>
</Email>
<Email>
    <EmailReceivedDTM>2024-01-30 19:23:21</EmailReceivedDTM>
    <EmailSubject>LoremIpsum </EmailSubject>
    <EmailBody>[CDATA[ your LoremIpsumLoremIpsumLoremIpsum message with subject: In Response to: 3467 sent to '389343934' Successfull]]</EmailBody>
</Email>
<Email>
    <EmailReceivedDTM>2024-01-30 19:07:17</EmailReceivedDTM>
    <EmailSubject>LoremIpsum Fax sent </EmailSubject>
    <EmailBody>[CDATA[LoremIpsumLoremIpsumLoremIpsum 8384384 LoremIpsumLoremIpsumLoremIpsum LoremIpsumLoremIpsumLoremIpsum 934834932]]</EmailBody>
</Email>

There might be N number of files in the folder location.

Secondly while merging I need a Flag Status as 1 or 0 when the node has 'Fax' at the beginning of the sentence for each of the files.

Third point: I need the first numeric value from the string of node. Example: From the File4.xml from the node I need 8384384

I was trying with Merge the XML file using XML task in SSIS by Selecting Operation type as Merge. But that works for only 2 files. Wanted to how to achieve for multiple files and how to accomplish the 2nd and 3rd points.

0

There are 0 best solutions below