【发布时间】:2017-05-24 02:06:18
【问题描述】:
我想比较两个 xml 文档是否相等。我的一份文件有自动关闭标签,而另一份没有。
XNode node = XDocument.Parse("<Root/>");
XNode node2 = XDocument.Parse("<Root></Root>");
bool result = XNode.DeepEquals(node, node2);
Console.WriteLine(result);
我假设"<Root/>" 等同于"<Root></Root>" 但是DeepEquals 说它们不是(返回false)。
如何比较这两个文档是否相等?
ps:不受XNode 的限制。也欢迎使用XmlDocument 的解决方案。
【问题讨论】:
-
您应该规范化 XML 树。 Eric White 之前在博客上写过这个:Equality Semantics of LINQ to XML Trees。