Как разобрать XML в JavaScript из Google - PullRequest
1 голос
/ 27 ноября 2008

Я хочу разобрать этот XML-документ http://www.google.de/ig/api?weather=Braunschweig,%20Deutschland Я хочу иметь возможность считывать условия, temp_c и влажность. Все это я хочу сделать внутри JavaScript без использования серверных сценариев, таких как PHP, и хочу, чтобы он работал в современных браузерах, а также в IE7 и, если без проблем, в IE6. РЕДАКТИРОВАТЬ: Решение без рамки было бы идеально

Ответы [ 6 ]

3 голосов
/ 16 ноября 2009

Если вы не работаете на странице, размещенной на google.de - вы не можете.

Политика с тем же происхождением запрещает JS, запущенному на веб-странице вашего сайта, доступ к документу на удаленном сайте.

Вы должны задействовать процесс на стороне сервера, чтобы либо преобразовать XML в формат, который вы можете обрабатывать удаленно (например, JSON-P, который вам подойдет Yahoo! Pipes ), либо ретранслировать данные через ваш собственный сервер с процессом на стороне сервера, доступным в том же источнике, что и страница.

1 голос
/ 27 ноября 2008

Мне посчастливилось разобрать XML в javascript с кодом вроде:

var xmlDoc = this.req.responseXML.documentElement;
var tStatus = xmlDoc.getElementsByTagName("status")[0].firstChild.data;
var tOtherURL = xmlDoc.getElementsByTagName("otherurl")[0].firstChild.data;
var tRows = xmlDoc.getElementsByTagName("rows")[0].firstChild.data;

Имейте в виду, что я на самом деле не знаю Javascript, и я отправил его в другое место.

1 голос
/ 27 ноября 2008

В Ajaxian есть хорошее руководство по анализу XML с помощью jQuery. http://ajaxian.com/archives/ajaxian-featured-tutorial-parsing-xml-with-jquery надеюсь, это поможет

изменить: учебник на самом деле здесь: http://blog.reindel.com/2007/09/24/jquery-and-xml-revisited/

0 голосов
/ 10 февраля 2011

Я создал плагин jQuery, который довольно легко разбирает XML. Он работает во всех браузерах класса Yahoo A и поставляется с опциями фильтрации, ограничения и обратного вызова.

Это может быть решение для рассмотрения: http://jparse.kylerush.net/

0 голосов
/ 27 ноября 2008

В Firefox и Opera решение очень простое: они имеют встроенную поддержку XPath. Таким образом, вы просто оцениваете выражение XPath в DOM ответа XML.

С IE больше работы. Кто-то еще задавал в основном тот же вопрос ранее, и разумный ответ таков: вам нужно будет использовать библиотеку JavaScript, которая позволит вам использовать XPath. В противном случае вы в конечном итоге сами напишите свой код для анализа проблемы.

0 голосов
/ 27 ноября 2008

Я думаю, что нашел учебник (хотя и на немецком) http://www.aboutwebdesign.de/awd/content/1124893836.shtml

...