Я думаю, что попытка использовать XmlHttpRequest будет огромной головной болью, если только вы не возражаете против того типа головной боли, что для правильного выполнения вы почти заново изобретаете колесо. С другой стороны, людям нравится изобретать колеса в свободное время, просто чтобы сказать: «Эй, я сделал это». Не я ...
Я бы получил фреймворк, такой как prototype или Extjs, который имеет множество функций загрузки данных, встроенных для XML и JSON, плюс вы получите более предсказуемые результаты, так как фреймворки имеют обработчики событий, чтобы убедиться, что ваш XmlHttpRequest успешно выполнен или не выполнен , Кроме того, вы получаете поддержку для всех браузеров.