Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik Connect 2026! Turn data into bold moves, April 13 -15: Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

XML files compare and update

Hi,
I would like to compare to XML files and create a third XML file which is a "merge" of both files.
Is it possible with Talend?
First File is like:
<racine name="TEST01">
<node name="node1">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
<node name="node2">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
<node name="node3">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
</racine>
Second one is like:
<!-- Created with Liquid XML Studio - FREE Community Edition 7.0.3.780 (http://www.liquid-technologies.com) -->
<racine name="TEST01">
<node name="node1">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"03"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
<node name="node3">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="couleur">"03"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
<node name="node4">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="prix">"20"</propertie>
</node>
</racine>
Result must be like:
<racine name="TEST01">
<node name="node1">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
<node name="node2">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
<node name="node3">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="couleur">"03"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
<node name="node4">
<propertie NAME="couleur">"01"</propertie>
<propertie NAME="couleur">"02"</propertie>
<propertie NAME="prix">"20"</propertie>
</node>
</racine>
Labels (3)
2 Replies
Anonymous
Not applicable
Author

Hello guy
I see that the two input xml files have the same structure, so you use a tFileList to iterate the two xml file, then merge the rows on tUnite. Here is an example, please see screeshots.
Best regards

shong
Anonymous
Not applicable
Author

Thanks a lot Shong.
I got one more question.
Now, I would like to update the content of 2 elements if they exist in both files.
For instance, in file 1 I have:
<node name="node1">
<propertie NAME="couleur1">"01"</propertie>
<propertie NAME="couleur2">"02"</propertie>
<propertie NAME="couleur3">"03"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
In file 2, I have:
<node name="node1">
<propertie NAME="couleur1">"01"</propertie>
<propertie NAME="couleur2">"04"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>
Result must be like:
<node name="node1">
<propertie NAME="couleur1">"01"</propertie>
<propertie NAME="couleur2">"04"</propertie>
<propertie NAME="couleur3">"03"</propertie>
<propertie NAME="prix">"10"</propertie>
</node>