用PHP解析WeatherBug中的天气数据

2022-04-13 00:00:00 xml weather php simplexml

问候,

我正在尝试用PHP解析WeatherBug的RSS提要中的实时天气数据。我以前对NOAA的天气数据使用了implexml_Load_String(),但我想不出如何从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>
我最需要的部分是<item>下的<description>。如有任何帮助,将不胜感激!


解决方案

试试:

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

相关文章