Теоретически XML был бы быстро хорош из-за проверки, а что нет. На практике вы не можете проверить на стороне клиента приемлемые DTD или схемы (или в большинстве случаев вообще). Попробуй, увидишь.
XML также страдает от многословности и потребления на стороне клиента. Если вы не планируете использовать XSLT или что-то еще и напрямую использовать полученный пакет, вам придется разбивать данные с помощью DOM, как сделано.
Наконец, XML не может быть разумно рассмотрен, пока он не будет завершен (по крайней мере, на стороне клиента), поэтому вы не сможете выполнить частичную проверку. Хотя, если быть честным, у JSON также будут проблемы в зависимости от его структуры.
Учитывая среду потребления (в основном JavaScript), JSON имеет очевидные преимущества. Широко обсуждается этот выбор, а также другие вещи, такие как YAML, CSV, данные, закодированные в base64, фрагменты HTML и т. Д. В главе 4 Ajax: Полная справка (http://ajaxref.com), которая относится только к типам данных. Примеры подтверждают опровергнуть простоту обработки, особенно в менее известных случаях. Если бы мне нужно было выбрать один JSON, это было бы честно, но для некоторых случаев использования небольших фрагментов HTML Ajax (так как это просто пощечина) - способ сделать это.