在 HTML 中显示 API 响应

Displaying API response in HTML

我正在学习 API 并且是这个过程的新手,任何帮助都会很有价值。

我已经设法获得我正在寻找的数据作为 XML 响应,并将其 console.logged 放入 chrome。我不确定如何实际访问我在控制台中看到的这个#document,请参见下面的代码和控制台打印输出

<!doctype html>
<html>
<head>

<script>
window.onload = function() {
var xhr = new XMLHttpRequest();
xhr.open("GET","http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139&mode=xml&APPID=92cc96ecfe265f251d814b66592a7848",false);
xhr.send();
console.log(xhr.status);
console.log(xhr.statusText);
console.log(xhr.responseXML);
var response = xhr.responseXML;
var xmlString = (new XMLSerializer()).serializeToString(response);
if(xhr.status == 200){
document.getElementById("document").innerHTML = xmlString;
}
}
</script>
<meta charset="UTF-8">
<title>Weather API Test</title>
</head>

<body id="body">
<div id="document"></div>
</body>
</html>

并且控制台显示:

200
OK
#document
  all of the XML is contained in here that I need to access and display

我找了整个周末都没有找到我能理解的解决方案。

提前致谢

我设法通过使用 PHP 和 JSON 来解决这个问题 - 在下面发帖以帮助处于同样困境的其他人

<!doctype html>
<html>
<head>



<meta charset="UTF-8">
<title>API TEST JSON</title>
</head>

<body>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
 $place = "capetown,za";
 $json_string = file_get_contents("http://api.openweathermap.org/data/2.5/weather?q=$place&units=metric&APPID=API-KEY-GOES-HERE");
 $parsed_json = json_decode($json_string);
 $country = $parsed_json->sys->country;
 $wind = $parsed_json->wind->speed;
 $city = $parsed_json->name;
 $temp = $parsed_json->main->temp;
 $clouds = $parsed_json->weather[0]->description;
 if($clouds == "clear sky"){
  echo ("<img src='http://placehold.it/200x200'>");
 }
?>

<table border="1px solid black">
<tr>
<td style="color:red;">Country</td>
<td style="color:red;"><?php echo $country;?></td>
</tr>
<tr>
<td style="color:red;">City</td>
<td style="color:red;"><?php echo $city;?></td>
</tr>
<tr>
<td style="color:red;">Temperature</td>
<td style="color:red;"><?php echo $temp;?></td>
</tr>
<tr>
<td style="color:red;">Wind Speed M/S</td>
<td style="color:red;"><?php echo $wind;?></td>
</tr>
<tr>
<td style="color:red;">Cloudiness</td>
<td style="color:red;"><?php echo $clouds;?></td>
</tr>
</table>
</body>
</html>