Поиск незамкнутых узлов XML (погода Yahoo) - PullRequest
0 голосов
/ 06 февраля 2012

Я пытаюсь использовать Javascript для извлечения данных из Yahoo Weather (например, http://weather.yahooapis.com/forecastrss?w=9807&u=c).

Я смотрел на другие потоки, включая Попытка получить элементы из Yahoo Weather XML и Попытка получить погоду Yahoo, используя jquery / php / xml и Синтаксический анализ XML Пространства имен

Я установил прокси на своем сервере, чтобы Ajax мог получить файл, и он прекрасно открывается (например, я могу написать documentElement). Однако у меня возникают проблемы с захватом тегов, таких как

<yweather:condition text="Mostly Cloudy" code="28" temp="5" date="Mon, 06 Feb 2012 10:00 am PST"/>

Я думаю, это потому, что это не закрывающий тег, как

<ttl>60</ttl>

Может ли кто-нибудь помочь мне с этим? Используя Javascript Спасибо

var parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlDoc, "text/xml");

alert(xmlDoc.getElementsByTagName("ttl")[0].childNodes[0].nodeValue); //works
alert(xmlDoc.getElementsByTagName("yweather:location")[0].childNodes[0].getAttribute("city")); //doesn't

1 Ответ

0 голосов
/ 06 февраля 2012

Прочтите, что ответ «Разбор пространств имен XML» снова.

Элемент, который вы ищете, имеет пространство имен, поэтому вам нужно использовать getElementsByTagNameNS.

...