比较两个xdocuments是否相等

时间:2011-10-31 09:31:58

标签: comparison linq-to-xml

我需要将两个XDocument对象放在一起。不幸的是,它们之间存在已知的差异,因此直接对象比较不起作用。我需要的是一种递归xml文档的每个元素和属性并比较它们各自的值的方法,同时忽略已知不同的值。

我知道已知不同的属性的名称(时间日期字段等)。实现这一目标的最佳策略是什么?

1 个答案:

答案 0 :(得分:0)

如果XDocument对象在结构上等效,您可以简单地遍历两个层次结构(使用Descendant属性,您可以简单地迭代)。然后,对于返回的每个元素,您可以枚举属性。

在每一步,如果你得到一些元素不匹配,你已经知道你的文件是不同的,否则检查属性,跳过你知道“可忽略”的那些,继续迭代直到后代集合结束。