From Digg, but to awesome not to pass on.
This guy found a bug in the .NET xml parser and passed it on to Microsoft. And eventually got this reply.
This is by design.XNodeEqualityComparer was not designed to stricly adhere to the xml spec.Most people expect attribute ordering to be significant and hence XNodeEqualityComparer was designed that way.
Notice the double insanity here. Not just that Microsoft is intentionally ignoring the standard because they think people expect it that way. But the fact that anybody that expects attribute order to be significant has failed to understand XML. So they are programming it to suit people who don't understand what they are doing.
Jay