我在使用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的新手。
由于 小号
答案 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");