【发布时间】:2016-02-18 05:49:01
【问题描述】:
我正在尝试从 Yahoo 控制台获取一些有关天气状况的信息。 Yahoo 的 xml 结果树如下所示:result tree
我能够使用我拥有的代码获得只有一层深度的东西。我的变量 'beta' 是用于精美作品的标题。第二个变量是'alpha',它不起作用。我相信这与我如何称呼它“item.condition.temp”和节点值有关。
我对此很陌生,因此请列出您使用的任何资源,因为这将有助于我继续前进。
<!DOCTYPE html>
<html>
<head>
<p id="alpha"></p>
<p id="beta"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (xhttp.readyState == 4 && xhttp.status == 200) {
myFunction(xhttp);
}
};
xhttp.open('GET', 'https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20weather.forecast%20where%20woeid%3D2444827&diagnostics=true', true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
document.getElementById('beta').innerHTML =
xmlDoc.getElementsByTagName('title')[0].childNodes[0].nodeValue;
document.getElementById('alpha').innerHTML =
xmlDoc.getElementsByTagName('item.condition.temp')[0].childNodes[0].nodeValue;
}
</script>
【问题讨论】:
-
尝试使用像
xmlDoc.querySelector('results channel location')和xmlDoc.querySelectorAll('results channel forecast')这样的好东西 .. xmlDoc 也有getElementByIdgetElementsByTagName等,就像 HTML 一样......在 Firefox 中至少你可以安全地忽略yweather:命名空间
标签: javascript html xml weather