Visualizzazione risultati 1 fino 10 di 10

Discussione: Errore caricamento xml yahoo (Fatal Error DomDocument)

  1. #1
    Guest

    Unhappy Errore caricamento xml yahoo (Fatal Error DomDocument)

    Ciao a tutti.
    Ho un'applicazione sul mio server casalinguo e funziona tutto perfettamente.
    Ho caricato il sito su altervista....e inizialmente avevo dei problemi ma risolti, dopo aver spulciato bene....dovevo semplicemente cambiare dal pannello da php4 a php5.

    Ora il mio nuovo problema sta nel caricamento di alcuni feed da yahoo.
    Ho cercato bene nel forum e su google ma niente non capisco perchè da questo errore.
    Cercando bene sul pannello ho notato che c'è una whiteList per le richieste esterne al server...ma *.yahoo.com è nella lista quindi il caricamento del feed lo dovrebbe fare...

    Cmq il codice incriminato è questo

    Codice PHP:
    $xmlDoc = new DOMDocument();
    $xmlDoc->load($this->url_xml);
    $x=$xmlDoc->getElementsByTagName('item');

    for (
    $i=0; $i<=5; $i++)
    $mioArray[] = $x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;

    L'errore esatto che mi da è


    Codice:
    Fatal error: Call to a member function getElementsByTagName() on a non-object in /membri/bugle/classi/Feed.php on line 20

  2. #2
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Codice PHP:
    $ch = curl_init($this->url_xml);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $code = curl_exec($ch);
    curl_close($ch);

    $xmlDoc = new DOMDocument();
    $xmlDoc->loadXML($code);
    $x=$xmlDoc->getElementsByTagName('item');

    for (
    $i=0; $i<=5; $i++)
    $mioArray[] = $x->item($i)->getElementsByTagName('title')->item(0)->childNodes->item(0)->nodeValue;
    Saluti!

  3. #3
    Guest

    Predefinito

    Ciao.
    Grazie per la risposta....ma non funziona su altervista da lo stesso errore...mentre sul mio server non c'è la funzione curl strano....
    E' assurdo...

    Altre idee??

  4. #4
    Guest

    Predefinito

    Prova a fare un var_dump($x) per vedere cosa restituisce.

  5. #5
    Guest

    Predefinito

    Ciao.
    Ho fatto il var dump e il risultato è


    Codice:
    Ecco il dump di x : object(DOMNodeList)#4 (0) { }
    Effettivamente restituisce un NodeList ma perchè non mi fa accedere a item?

    P.S.
    Nel mio server da lo stesso identico risultato.....
    Ultima modifica di bugle : 16-12-2009 alle ore 13.56.56

  6. #6
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Restituisce un NodeList ma vuoto!
    Prova ad effettuare il var_dump di tutto $xmlDoc. var_dump($xmlDoc);

    Saluti!

  7. #7
    Guest

    Predefinito

    Ecco il dump : object(DOMDocument)#3 (0) { }

    Il punto è che sul mio server da lo stesso risultato....ma funziona legge i feed di yahoo.....

  8. #8
    L'avatar di mycarlo
    mycarlo non è connesso Utente attivo
    Data registrazione
    06-10-2009
    Residenza
    $this->s50
    Messaggi
    467

    Predefinito

    Se provi a stampare $code visualizzi il codice che desideri??

    Saluti!

  9. #9
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Quel codice è funzionante, io l'ho provato su AV e funziona.
    Forse tu come URL inserisci un file xml che contiene un numero di tag item minore di cinque. Se tu a priori non conosci il numero di tag item, che potrebbe essere minore di cinque, allora devi modificare lo script.

  10. #10
    Guest

    Predefinito

    Ciao.
    Non ho ancora provato a stampare code ma il file xml ne contiene sicuro 10 sempre.
    Ti passo il link....

    http://it.movies.yahoo.com/rss/movie-charts.xml

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •