xml is too complicated and too easy to get wrong - try consuming rss feeds and the amount of malformed xml you'll find is astounding - people basically template xml, so you'll get just bad syntax and text encoding problems.
json avoids these pitfalls and people mostly just use a lib to generate it from native data structures, so it's almost always well-formed.