【发布时间】:2019-10-22 09:17:24
【问题描述】:
使用this 解决方案我遇到了问题。
合并 xml 文件。
我的问题是,我还必须考虑这些值。
并且必须删除重复项。
在此示例中,带有 FileB.txt 的条目是重复的。
文件A.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>
文件B.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>
预期结果.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>
如果我将映射更改为
mapping = {(el.tag, hashabledict(el.attrib), el.text): el for el in one}
缺少父元素 CopyFile。
我的结果是
<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>
有什么想法吗?
【问题讨论】:
标签: python xml elementtree