xml文件比较

时间:2011-05-10 10:07:39

标签: c# xml compare

如何简单地比较元素名称中的两个xml文件。 如果任何元素名称不匹配,则应返回true,否则返回false。 我正在使用

 var matches = from a in file1.Element("in_mind").Descendants()
                          join b in file2.Element("in_mind").Descendants() on a.Name equals b.Name
                          select new { First = a, Second = b };

            foreach (var n in matches)
                if(n.First.ToString().Intersect(n.Second.ToString()).Count()>0)
                {

                }
                else
                {
                    MessageBox.Show("not matched");
                    return;
                }

但它没有检查元素名称..

1 个答案:

答案 0 :(得分:1)

也许是这样的?从两个文件中获取所有后代的名称,并检查它们是否相同。我不知道这是不是你想做的。

var elements1=(from e in file1.Element("in_mind").Descendants() select e.Name).ToList();
var elements2=(from e in file2.Element("in_mind").Descendants() select e.Name).ToList();

for(int i=0;i<elements1.Count;i++)
{
    if(elements1[i]!=elements2[i])
    {
        return false;
    }
}

return true;