Одна большая проблема, с которой вы можете столкнуться, заключается в том, что, как правило, вы не можете получить кросс-домен данных. Это большая проблема с большинством RSS-каналов.
Распространенный способ загрузки данных в кросс-домене javascript - это вызовы JSONP. По сути, это означает, что извлекаемые вами данные обернуты в функцию обратного вызова javascript. Вы загружаете URL-адрес тегом script и определяете функцию в своем коде. Поэтому, когда скрипт загружается, он выполняет функцию и передает ему данные в качестве аргумента.
Проблема с большинством каналов xml / rss заключается в том, что службы, предоставляющие только XML, обычно не обеспечивают возможность переноса JSONP.
Прежде чем идти дальше, проверьте, обеспечивает ли ваш источник данных формат json и функциональность JSONP. Это сделает это намного проще.
Теперь, если ваш источник данных не предоставляет функции json и jsonp, вам нужно проявить творческий подход.
Относительно простым способом справиться с этим является использование прокси-сервера. Ваш прокси-сервер работает где-то под вашим контролем и выступает в качестве посредника для получения ваших данных. Сервер загружает ваш xml, а затем ваш javascript выполняет запросы к нему. Если прокси-сервер работает на том же доменном имени, то вы можете просто использовать стандартные запросы xhr (ajax), и вам не нужно беспокоиться о междоменных вещах.
Кроме того, ваш прокси-сервер может обернуть данные в обратный вызов jsonp, и вы можете использовать метод, упомянутый выше.
Если вы используете jQuery, то запросы xhr и jsonp являются встроенными методами, что делает процесс кодирования очень простым. Другие распространенные библиотеки js также должны их поддерживать. Если вы кодируете все это с нуля, это немного больше работы, но не очень сложно.
Теперь, когда вы получите ваши данные, надеюсь, это просто JSON. Тогда нет необходимости в разборе.
Однако, если вам в конечном итоге придется придерживаться версии xml / rss, и если вы jQuery, вы можете просто использовать jQuery.parseXML http://api.jquery.com/jQuery.parseXML/.