2013-06-12 220 views
0

我正在爲我的學校網站開發當前天氣和天氣預報的天氣預報。 爲此,我將使用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

使用XML解析器 - 有許多的PHP – verbumSapienti

+0

請你的問題(使用編輯)內發佈XML的指導性和有效部分。謝謝! – michi

+0

請使用搜索。如果我們還沒有特別針對雅虎天氣RSS做出回答,那麼至少可以通過xml-namespaces回答。查看[解析雅虎天氣RSS提要獲取名稱空間城市元素](http://stackoverflow.com/questions/14095012/parsing-yahoo-weather-rss-feed-to-get-namespaced-city-element?rq=1)以及右邊相關欄目中的其他人 - > – hakre

回答

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?

相關問題