Ankündigung

Einklappen
Keine Ankündigung bisher.

Error bei Benützung von xpath

Einklappen

Neue Werbung 2019

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

  • Error bei Benützung von xpath

    Hallo zusammen.

    Ich habe auf meiner Website (http://swissnetwork.com.taurinus.sui-inter.net/en/)ein Problem mit xpath:

    Fehlermeldung:
    Fatal error: Call to a member function xpath() on a non-object in /home/httpd/vhosts/swissnetwork.com/httpdocs/en/Common/NewsBox.php on line 9

    Lokal auf meinem PC funktioniert die Seite ohne Problem, doch wenn ich sie auf den Server hochlade, erscheint immer diese Fehlermeldung (siehe oben).

    Meine Lokale PHP Version: 5.2.3
    PHP Version des Host: 5.1.6

    Ist diese xpath Funktion mit PHP Version 5.1.6 etwa nicht kompaktibel? Gibt es in diesem Fall eine möglichkeit diese Funktion zu umschreiben?

    Ich Danke euch für eure Antworten.

    Lg, Arno


  • #2
    Hier noch mein Code wo der Fehler auftritt:

    PHP-Code:
    class NewsBox extends TControl
    {
        public function 
    onInit($param)
        {
            
    parent::onInit($param);
            
    $news=@simplexml_load_file('http://www.swissinfo.org/eng/rss/business/index.xml');
            
    $path=$news->xpath('/rss/channel/item') or print('rss file failed to load');
            
    $r=array();
            
    $topics=array();
            if(!empty(
    $path))
                foreach(
    $path as $value)
                    if(
    count($topics)<8)
                    {
                        
    $topics[]=array
                        (
                            
    'title'=>strval($value->title),
                            
    'link'=>strval($value->link)
                        );
                    }
                    else
                        break;
            
    $this->News->setDataSource($topics);
            
    $this->News->dataBind();
        }
        

    Kommentar


    • #3
      simplexml_load_file() kann fehlschlagen. Ohne das @ würde php das auch anzeigen. Versuch es mal so
      PHP-Code:
      class NewsBox extends TControl
      {
        public function 
      onInit($param)
        {
          
      parent::onInit($param);
          
      $url 'http://www.swissinfo.org/eng/rss/business/index.xml';
          
      $news=@simplexml_load_file($url);
          if (
      $news===false)
          {
            throw new 
      Exception('cannot read from '.$url);
          }
          
      $path=$news->xpath('/rss/channel/item') or print('rss file failed to load'); 
      oder besser
      PHP-Code:
      class NewsBox extends TControl
      {
        public function 
      onInit($param)
        {
          
      parent::onInit($param);
          
      $url 'http://www.swissinfo.org/eng/rss/business/index.xml';
          $
      $news = @new SimpleXMLElement($url0true);
          
      $path $news->xpath('/rss/channel/item') or print('rss file failed to load'); 

      Kommentar

      Lädt...
      X