simplexml_load_file() doppelpunkt Problem

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • simplexml_load_file() doppelpunkt Problem

    Hallo Community,
    ich habe wieder einmal ein Problem. Zwar lese ich die XML Wetterdaten von Yahoo aus. Diese Daten werden als XML angeboten. Das XML file sieht so aus:

    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <rss version="2.0" xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
     <channel>
     <title>Yahoo! Weather - Akita, JA</title>
     <link>[url]http://us.rd.yahoo.com/dailynews/rss/weather/Akita__JA/*
           [url]http://xml.weather.yahoo.com/forecast/JAXX0001_f.html[/url][/url]</link>
     <description>Yahoo! Weather for Akita, JA</description>
     <language>en-us</language>
     <lastBuildDate>Wed, 28 Jun 2006 12:08 pm PDT</lastBuildDate>
    
     <ttl>60</ttl>
     <yweather:location city="Akita" region="" country="JA" />
     <yweather:units temperature="F" distance="mi" pressure="in" speed="mph" />
      <yweather:astronomy sunrise="4:14 am" sunset="7:12 pm" />
      <image>
     <title>Yahoo! Weather</title>
     <width>142</width>
    
     <height>18</height>
     <link>[url]http://weather.yahoo.com/[/url]</link>
     <url>[url]http://us.i1.yimg.com/us.yimg.com/i/us/nws/th/main_142b.gif[/url]</url>
     </image>
     <item>
     <title>Conditions for Akita, JA</title>
      <geo:lat>39.72</geo:lat>
    
     <geo:long>140.1</geo:long>
      <link>[url]http://us.rd.yahoo.com/dailynews/rss/weather/Akita__JA/*
           [url]http://xml.weather.yahoo.com/forecast/JAXX0001_f.html[/url][/url]</link>
     <pubDate>Wed, 28 Jun 2006 12:08 pm PDT</pubDate>
     <description><![CDATA[
     <b>Forecast:</b><BR />
      Wed - Sunny. High: 75 Low: 63<br />
      Thu - Partly Cloudy. High: 77 Low: 65<br />
     <br />
    <a href="http://us.rd.yahoo.com/dailynews/rss/weather/Akita__JA/*
     [url]http://xml.weather.yahoo.com/forecast/JAXX0001_f.html[/url]">Full Forecast at Yahoo! Weather</a><BR/>
     (provided by The Weather Channel)<br/>
     ]]></description>
     <yweather:forecast day="Wed" date="28 Jun 2006" low="63" high="75" text="Sunny" code="32" />
    <yweather:forecast day="Thu" date="29 Jun 2006" low="65" high="77" text="Partly Cloudy" code="30" />
      <guid isPermaLink="false">JAXX0001_2006_06_28_JST</guid>
    
     </item>
    </channel>
    </rss>
    Dieses XML File lese ich dan mir simplexml_load_file() ein. Mit print_r lasse ich mir dan folgendes ausgeben.

    Code:
    SimpleXMLElement Object
    (
        [channel] => SimpleXMLElement Object
            (
                [title] => Yahoo! Weather - Akita, JA
                [link] => [url]http://us.rd.yahoo.com/dailynews/rss/weather/Akita__JA/*[url]http://xml.weather.yahoo.com/forecast/JAXX0001_f.html[/url][/url]
                [description] => Yahoo! Weather for Akita, JA
                [language] => en-us
                [lastBuildDate] => Wed, 28 Jun 2006 12:07 pm PDT
                [ttl] => 60
                [image] => SimpleXMLElement Object
                    (
                        [title] => Yahoo! Weather
                        [width] => 142
                        [height] => 18
                        [link] => [url]http://weather.yahoo.com/[/url]
                        [url] => [url]http://us.i1.yimg.com/us.yimg.com/i/us/nws/th/main_142b.gif[/url]
                    )
    
                [item] => SimpleXMLElement Object
                    (
                        [title] => Conditions for Akita, JA
                        [link] => [url]http://us.rd.yahoo.com/dailynews/rss/weather/Akita__JA/*[url]http://xml.weather.yahoo.com/forecast/JAXX0001_f.html[/url][/url]
                        [pubDate] => Wed, 28 Jun 2006 12:07 pm PDT
                        [description] => SimpleXMLElement Object
                            (
                            )
    
                        [guid] => JAXX0001_2006_06_28_JST
                    )
    
            )
    
    )
    Hier werden nun die <yweather:wathever> nicht mehr angezeigt was meiner Meinung nach auch ganz normal ist. Nur kann ich auch mit attributes nicht darauf zugreifen. Ich frage mich nun wie komme ich an diese werte da diese eigentlich die Huptinformationen dieses Dokumentes ausgeben.

    Meine idee war :

    PHP-Code:
    <?php
    $url 
    'http://xml.weather.yahoo.com/forecastrss?p=JAXX0001&u=f';
    $xml simplexml_load_file($url);

    /* Hier haben wir aber einen Syntaxfehler */
    foreach($xml->channel->yweather:location->attributes() as ... )
    {
        
    // output 


    /* Auch keine Funktion gibt  Call to a member function attributes() on a non-object in ... */
    foreach($xml->channel['yweather:location']->attributes() as ... )
    {
        
    // output 


    ?>

    Kennt jemand das Problem? Kann mir wer Helfen.
    Danke schon mal

    gruss
    shin y.
    Zuletzt geändert von Shin Yoshida; 28.06.2006, 21:35.

  • #2
    Ich bin mir nicht ganz sicher, ob es das ist, was du brauchst, aber schau dir mal das hier an: http://de3.php.net/manual/en/functio...hnamespace.php
    "Ach was soll's? Dann bau ich mir halt meinen eigenen Vergnügungspark mit Blackjack und Nutten." - Bender

    Kommentar

    Lädt...
    X