With this solution I have an issue.
Merging xml-files.
My problem is, that I have to consider the values also.
And the duplicates has to be removed.
In this excample the entries with FileB.txt are duplicated.
FileA.xml
<update>
<Files>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileA.txt</SrcFile>
<DestFile>\FolderB\FileA.txt</DestFile>
</CopyFile>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileB.txt</SrcFile>
<DestFile>\FolderB\FileB.txt</DestFile>
</CopyFile>
</Files>
</update>
FileB.xml
<update>
<Files>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileB.txt</SrcFile>
<DestFile>\FolderB\FileB.txt</DestFile>
</CopyFile>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileC.txt</SrcFile>
<DestFile>\FolderB\FileC.txt</DestFile>
</CopyFile>
</Files>
</update>
expected Result.xml
<update>
<Files>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileA.txt</SrcFile>
<DestFile>\FolderB\FileA.txt</DestFile>
</CopyFile>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileB.txt</SrcFile>
<DestFile>\FolderB\FileB.txt</DestFile>
</CopyFile>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileC.txt</SrcFile>
<DestFile>\FolderB\FileC.txt</DestFile>
</CopyFile>
</Files>
</update>
If I change the mapping to
mapping = {(el.tag, hashabledict(el.attrib), el.text): el for el in one}
the parent element CopyFile is missing.
My result will be
<update>
<Files>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileA.txt</SrcFile>
<DestFile>\FolderB\FileA.txt</DestFile>
</CopyFile>
<CopyFile overwrite="FALSE">
<SrcFile>\FolderA\FileB.txt</SrcFile>
<DestFile>\FolderB\FileB.txt</DestFile>
<SrcFile>\FolderA\FileC.txt</SrcFile>
<DestFile>\FolderB\FileC.txt</DestFile>
</CopyFile>
</Files>
</update>
any ideas ?