2010-12-07 16 views
0

グリーティング、天気予報のデータをPHPでWeatherbugから解析する

WeatherbugのRSSフィードのライブ天気データをPHPで解析しようとしています。以前はNOAAの気象データでsimplexml_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>です。どんな助けでも大歓迎です!

答えて

0

これを試してみてください:

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

が魅力のように働いた、ありがとうございました!ここで何が起こっているのかを簡単に分かりますか?私はかなり単純ですsimplexml_load_string – NightMICU

+0

最初の*チャンネル*ノードを取得する ' - > channel'、最初の* item *ノードを取得する' - > item'などがあります。これは依然として 'SimpleXMLElement'オブジェクトを返しますが、文字列('(文字列) ')にキャストすると、ノードの内部コンテンツが返されます。 – netcoder