雅虎天气预报xml

时间:2013-02-24 18:15:47

标签: javascript xml xml-parsing yahoo weather

我在使用javascript解析Yahoo的天气api时遇到问题。我有一切正常,但我无法弄清楚如何获取数天的数据。我可以得到第一个,但不知道如何获得其他属性。

以下是XML部分:

<yweather:forecast day="Sun" date="24 Feb 2013" low="19" high="31" text="Few Snow Showers" code="14"/>
<yweather:forecast day="Mon" date="25 Feb 2013" low="24" high="35" text="Partly Cloudy" code="30"/>
<yweather:forecast day="Tue" date="26 Feb 2013" low="33" high="34" text="Rain/Snow Showers" code="5"/>
<yweather:forecast day="Wed" date="27 Feb 2013" low="31" high="35" text="Snow Showers" code="14"/>
<yweather:forecast day="Thu" date="28 Feb 2013" low="25" high="33" text="Few Snow Showers" code="14"/>

此代码将为我提供第一个预测

forecastTag = findChild(findChild(effectiveRoot, "item"), "yweather:forecast");
day1 = forecastTag.getAttribute("low");

那么如何获取其他日子的数据呢?我试过把yweather:预测作为一个数组[0],[1]等...但它没有用。我一直在阅读很多关于解析的内容,但是无法理解。我是XML的新手。

由于 小号

2 个答案:

答案 0 :(得分:0)

我明白了。

obj.plus1 = request.responseXML.getElementsByTagName("forecast")[1].getAttribute("low");

答案 1 :(得分:0)

您需要通过xml文件

获取此xml的命名空间

xmlhttp.responseXML.getElementsByTagNameNS('http://xml.weather.yahoo.com/ns/rss/1.0', 'forecast')[1].getAttribute("low");