我正在为我的学校网站制作当前天气和天气预报的天气预报。 为此,我将使用Yahoos RSS天气预报。 在此XML文件中,有一些值存储在属性中。 我想用PHP来解决这些问题。 该文件可在此处找到: http://weather.yahooapis.com/forecastrss?w=12602818&u=c
XML文件说明了以下行:
<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0">
我想要获得的价值如下:
<yweather:condition text="Partly Cloudy" code="30" temp="22" date="Wed, 12 Jun 2013 4:20 pm CEST"/>
例如,我会喜欢从这个yweather:条件接收'temp'。
任何人都可以告诉我如何用PHP完成这项工作吗?
答案 0 :(得分:1)
<?php
$doc = new DOMDocument();
$doc->load('http://weather.yahooapis.com/forecastrss?w=12602818&u=c');
$channel = $doc->getElementsByTagName("channel");
foreach($channel as $chnl){
$item = $chnl->getElementsByTagName("item");
foreach($item as $itemgotten){
$curtemp = $itemgotten->getElementsByTagNameNS("http://xml.weather.yahoo.com/ns/rss/1.0","condition")->item(0)->getAttribute("temp");
echo $curtemp;
}
}
?>
这解决了这个问题! 答案在这里找到: How to get the tag "<yweather:condition>" from Yahoo Weather RSS in PHP?