我想使用 Python 比较 2 个 xml 并获得特定的输出。
例子:
旧的.xml
<foos>
<foo>
<id>1</id>
<x>1</x>
</foo>
<foo>
<id>2</id>
<x>1</x>
</foo>
<foo>
<id>3</id>
<x>1</x>
<y>1</y>
</foo>
</foo>
新的.xml
<foos>
<foo>
<id>1</id>
<x>2</x>
<y>1</y>
</foo>
<foo>
<id>2</id>
<x>1</x>
</foo>
<foo>
<id>3</id>
<x>2</x>
<y>1</y>
</foo>
<foo>
<id>4</id>
<x>1</x>
</foo>
</foo>
我想要的输出:
输出.xml
<foos>
<foo>
<id>1</id>
<x>2</x>
<y>1</y>
</foo>
<foo>
<id>3</id>
<x>2</x>
</foo>
<foo>
<id>4</id>
<x>1</x>
</foo>
</foo>
我写了一个性能很差的非常丑陋的函数,我想找到一种更好的方法来做到这一点。您对如何以良好的表现执行此任务有任何想法吗?
我遇到的一些问题;
- 2 个 xml 的 ids 列表不相等(可以在 2 个 xml 之间删除或添加对象)
- 输出的特定格式,阻止我使用经典库来完成这项工作(https://github.com/Shoobx/xmldiff)。但也许有一种解决方法?