解析来自Weatherbug的PHP天气数据

时间:2010-12-07 16:12:58

标签: php xml simplexml weather

问候,

我正在尝试使用PHP中的Weatherbug RSS源解析实时天气数据。我之前使用过simplexml_load_string()和NOAA的天气数据,但我无法弄清楚如何从Weatherbug输出我需要的数据。

以下是当前条件的XML:

    <rss version="2.0" xmlns:georss="http://www.georss.org/georss">
 <channel>

        <title>Observations from Saint Inigoes,  MD - USA</title>


     <link>http://weather.weatherbug.com/MD/Saint Inigoes-weather.html?ZCode=Z5546&amp;Units=0&amp;stat=KNUI</link>
     <description>Weatherbug, the owner of the world's largest weather network is now providing an API to it's weather data in the form of RSS. This will enable it's enthusiastic users to build their own applications.</description>
     <language>en-us</language>

     <lastBuildDate>Tue, 07 Dec 2010 16:00:00 GMT</lastBuildDate>
     <ttl>60</ttl>
     <aws:weather xmlns:aws="http://www.aws.com/aws"><aws:api version="2.0" /><aws:WebURL>http://weather.weatherbug.com/MD/Saint Inigoes-weather.html?ZCode=Z5546&amp;Units=0&amp;stat=KNUI</aws:WebURL><aws:InputLocationURL>http://weather.weatherbug.com/VA/Heathsville-weather.html?ZCode=Z5546&amp;Units=0</aws:InputLocationURL><aws:station requestedID="" id="KNUI" name="Webster Field, Naval Electronic Syste" city="Saint Inigoes" state=" MD" zipcode="20684" country="USA" latitude="38.1488876342773" longitude="-76.4197235107422" /><aws:current-condition icon="http://deskwx.weatherbug.com/images/Forecast/icons/cond007.gif">Sunny</aws:current-condition><aws:temp units="&amp;deg;F">33.1</aws:temp><aws:rain-today units="&quot;">0</aws:rain-today><aws:wind-speed units="mph">14</aws:wind-speed><aws:wind-direction>WNW</aws:wind-direction><aws:gust-speed units="mph">28</aws:gust-speed><aws:gust-direction>WNW</aws:gust-direction></aws:weather>

     <image>
     <title>Local Weather from WeatherBug</title>
     <width>142</width>
     <height>18</height>
     <link>http://weather.weatherbug.com/MD/Saint Inigoes-weather.html?ZCode=Z5546&amp;Units=0&amp;stat=KNUI</link>
     <url>http://www.weatherbug.com/aws/imagesHmPg0604/img_wxbug_logo_whiteBG.gif</url>

     </image>

           <item>

                        <title>Live Conditions from Saint Inigoes,  MD - USA</title>                        

                     <link>http://weather.weatherbug.com/MD/Saint Inigoes-weather.html?ZCode=Z5546&amp;Units=0&amp;stat=KNUI</link>

                     <pubDate>Tue, 07 Dec 2010 14:53:00 GMT</pubDate>
                     <description><![CDATA[

                             <img src="http://deskwx.weatherbug.com/images/Forecast/icons/cond007.gif" border="0" alt="Current Conditions"/>&nbsp;&nbsp;&nbsp;
                     <b>Sunny</b> <br />

                <b>Temperature:</b> 33.1 &deg;F&nbsp;&nbsp; 
               <br />
                <b>Wind Speed:</b> 14 mph WNW&nbsp;&nbsp;
            <br /> 
                <b>Gusts:</b> 28 mph WNW &nbsp;&nbsp;
                <b>Rain Today:</b> 0 &quot; &nbsp;&nbsp;
               <br />
                     ]]></description>
                      <georss:point>38.1488876342773 -76.4197235107422</georss:point>

                      <guid isPermaLink="false">Tue, 07 Dec 2010 16:00:36 GMT-Station1</guid>


              </item>

 </channel>
    </rss>

我最需要的部分是<description>下的<item>。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

试试这个:

$description = (string)$simpleXml->channel->item->description;