0

我在使用 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:forecast 视为数组 [0]、[1] 等......但它没有用。我一直在阅读很多关于解析的内容,但就是想不通。我是 XML 新手。

谢谢小号

4

2 回答 2

0

我想到了。

obj.plus1 = request.responseXML.getElementsByTagName("forecast")[1].getAttribute("low");
于 2013-02-24T20:18:44.240 回答
0

你需要通过xml文件获取这个xml的命名空间,

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

于 2017-09-20T09:46:57.930 回答