如果2个XDocuments等于忽略元素/属性顺序,是否有一种简单的方法来比较?

unit testing我的序列化代码我发现一个失败,因为我有一个不同的顺序列出的属性(我只是比较XDocument.ToString()值)虽然我可以修复它,它对我来说无关紧要的顺序只要元素或属性在正确的层次结构中具有正确的名称,它们就会出现。 我可能会写一个方法来做这个,但我想知道是否有一个简单的内置方式我不知道。

XNode有一个DeepEquals函数可以解决这个问题。

http://msdn.microsoft.com/en-us/library/system.xml.linq.xnode.deepequals.aspx

更新:

似乎DeepEqualsfunction并不总是正常工作。 您可能最好实施自己的比较例程。

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=400469

继“亚当露丝”之后,我通读了微软链接,这篇博文非常实用。

Eric White: http : //blogs.msdn.com/b/ericwhite/archive/2009/01/28/equality-semantics-of-linq-to-xml-trees.aspx

在这里尝试Microsoft XML Diff和patch实用程序或google“Xml Diff”