O que dá à XML seu poder e muita complexidade é conteúdo misto. Coisas assim:
<p>A <b>fine</b> mess we're in!</p>
Nem tente fazer isso em JSON ou manipule-o em linguagens de programação convencionais. Eles não foram projetados para o trabalho.
Esse tipo de pergunta geralmente vem de pessoas que esquecem que o M em XML significa marcação. É uma maneira de obter texto simples e adicionar marcações para criar texto estruturado. É bastante útil para dados antigos também, mas não é para isso que foi projetado ou onde estão seus principais pontos strongs. Existem várias maneiras de lidar com dados simples, e o JSON é um deles.