What? They're trivially identical! Here, an algorithm to convert from XML to JSON:
< => {
> => }
attribute="value" => key:"value"
contents => $:[{},"",{},etc,"look ma, multiple text nodes!"]
node name => #:"name"
Actually, there's one that most JSON parsers can do that XML can't: key: function(){alert("Oh joy, someone used <em>eval!</em>");} => ???
edit: thought of another one: {"spaces in <key name{w00t}>":value} => ?
I have absolutely no idea how people come to the conclusion that XML somehow magically does X while nothing else does. XSLT can be modified to work on JSON, schema definitions too (how about: http://tools.ietf.org/html/draft-zyp-json-schema-03 , or a pre-defined set of rules like JSON-RPC?), and XPath == CSS-like selectors with a different set of characters.The only difference between XML and JSON is the character set and the tool-chains available. JSON is rapidly gaining the same capabilities through tools, while XML has tons of non-compliant libraries (I've had to deal with other people's XML APIs in cases where attribute order mattered (likely hand-rolled, I know), or they couldn't parse a standard schema doc, or they couldn't handle namespaces properly).
About the only thing you can say is that JSON is XML "lite", currently, and is a new chance to do things differently / correctly. The problems many people have with XML relates to just that - non-compliant libraries that clog the XML tubes, making working with it a total crap-shoot often enough that it's worth avoiding.