<form action='' method='post'>
<input type='text' name='location'>
<input type='submit' name='submit'>
</form>
<?php
if(isset($_POST['submit']) && !empty($_POST['location'])) {
$input = $_POST['location'];
$url = 'http://api.openweathermap.org/data/2.5/forecast?q='.strtolower($input).'&mode=xml';
$xml = file_get_contents($url, false);
$xml = simplexml_load_string($xml);
echo '<b>Viewing Weather For:</b> '. $xml->location->name;
echo '<b>Temperature:</b> '. $xml->forecast->children('temperature')->attributes('value');
}
天气API:http://api.openweathermap.org/data/2.5/forecast?q=london,uk&mode=xml
我想获得温度值
echo '<b>Temperature:</b> '. $xml->forecast->children('temperature')->attributes('value');
这就是我卡住的地方
我真的很感激你的答案:)
答案 0 :(得分:0)
要获取value
节点第一次出现的temperature
属性,请执行以下操作:
$result = $xml->forecast[0]->time[0]->temperature["value"];
要考虑<time>
,请使用xpath
:
$results = $xml->xpath("//time");
这将选择所有time
个节点,现在循环:
foreach ($results as $result)
echo "temperature for $result[from] to $result[to]: {$result->temperature['value']}<br />";