单元测试我的序列化代码我发现一个失败,因为我有不同顺序列出的属性(我只是比较XDocument.ToString()值)而我可以修复它,这对我来说无关紧要元素或属性以什么顺序出现,只要它们在正确的层次结构中具有正确的名称。我可能会写一个方法来做这个,但我想知道是否有一个我不知道的简单内置方式。
答案 0 :(得分:11)
XNode有一个DeepEquals函数可以解决问题。
http://msdn.microsoft.com/en-us/library/system.xml.linq.xnode.deepequals.aspx
更新:
似乎DeepEquals功能并不总能正常工作。您可能最好实施自己的比较例程。
http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=400469
答案 1 :(得分:4)
继“Adam Ruth”之后,我通读了微软链接,这篇博文非常实用。
Eric White: http://blogs.msdn.com/b/ericwhite/archive/2009/01/28/equality-semantics-of-linq-to-xml-trees.aspx答案 2 :(得分:2)
尝试使用Microsoft XML Diff和修补程序实用程序here 或google“Xml Diff”