我想要比较两个大的xml文件,并检索差异。就像ExamXML和DiffDog一样。我找到的解决方案是同时遍历每个文件的所有子节点,并检查它们是否相等。但我不知道如何做到这一点……如何遍历所有子节点及其属性?如何检查第一个文件的第一个元素是否等于第二个文件的第一个元素,第一个文件的第二个元素是否等于第二个文件的第二个元素,以此类推?
你有没有更好的办法来比较两个xml文件?
发布于 2010-12-03 03:16:47
你有没有考虑过使用XPath?这似乎是获取所有子节点的一种简单方法。然后,您将能够遍历节点并比较属性/textContent。
发布于 2011-08-26 21:28:41
我正在寻找一些东西来比较像您这样的两个XML,我发现这个解决方案工作得很好。
http://www.jevon.org/wiki/Comparing_Two_SimpleXML_Documents
我希望这对某些人有帮助。
发布于 2010-12-03 02:47:15
对于你来说,这可能是一个非常不同的解决方案,但这就是我要做的。
首先,我会尝试将格式转换为更易于管理的格式,如数组,以便将XML转换为数组。
http://www.bytemycode.com/snippets/snippet/445/
这是一些简单的代码来实现这一点。
然后,PHP有一个array_diff()函数可以向您展示其中的区别。
http://www.php.net/manual/en/function.array-diff.php
考虑到您需要如何处理这些差异,这可能对您有效,也可能不适用,但如果您只是希望识别这些差异并对其采取行动,那么这可能是一个非常快速的问题解决方案。
https://stackoverflow.com/questions/4338426
复制相似问题