不幸的是,这个问题没有一个通用的解决方案.XML diffing对你认为不同的东西非常敏感.在一种情况下,子节点的顺序可能很重要,而在另一种情况下(甚至可能在同一文件中)它可能是无关紧要的.
看看XMLUnit.尽管它的目标是单元测试,但它是一个完整的XML差分引擎.您必须告诉它(在代码中)如何确定两个节点是否有资格进行比较,然后如何处理找到的所有潜在差异(即在您的应用程序中它们是否真实).它检测到"差异事件"的详尽列表,包括
还有更多.这些中的任何一个对您的应用程序都很重要或不重要,只有您可以自行决定.这值得一看,但需要一些工作才能得到你想要的东西.