Visualizzazione risultati 1 fino 4 di 4

Discussione: problema con simplexml_load_file

  1. #1
    Guest

    Predefinito problema con simplexml_load_file

    Salve a tutti.
    Espongo il mio problema....sto realizzando un sito per un associazione sportiva.
    Lo spazio a disposizione, acquistato tempo fa, purtroppo non supporta il database mysql percui ho deciso di sostituirlo con dei file xml.
    Per leggere e manipolare detti file utilizzo simplexml_load_file e la funzione xpath().
    Quando provo a mandare in esecuzione il tutto in locale non ci sono problemi e funziona tutto correttamente. Ho provato a pubblicare il sito su altervista per provarlo e verificare se funzionasse anche li e mi da problemi. Ho provato a verificare quale versione di php fosse installata su altervista ed e' risultato che e' piu' recente di quella che uso in locale.
    L'errore che risulta e' il seguente:

    Fatal error: Call to a member function xpath() on a non-object in /membri/brinellaprova/news_n.php on line 57

    e la riga incriminata e':

    $nodi = count($xml->xpath("//notizie/news"));

    i nodi del file xml hanno la seguente struttura:

    <notizie>
    <news id="1">
    <id></id>
    <titolo></titolo>
    <data></data>
    <corpo></corpo>
    </news>
    <news id="2">
    <id></id>
    <titolo></titolo>
    <data></data>
    <corpo></corpo>
    </news>
    .............................. ecc ecc
    </notizie>


    il problema non e' la funzione count, ho provato a toglierla e l'errore persiste. Inoltre dopo qualche riga c'e' un'altra chiamata a xpath(), togliendo la precedente, anche quest'ultima da problemi.

    Quello che non capisco e' perche' a me in locale funziona e su altervista no.
    Ripeto, la versione di altervista e' piu' recente della mia, mi sembra che sia la 5.2.13
    C'e' qualcuno che sa darmi dei consigli?

    grazie anticipate!

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Php ti sta dicendo che la variabile $xml non è un oggetto.
    Come definisci $xml?

  3. #3
    Guest

    Predefinito

    hai ragione mi sono dimenticato di scriverlo

    $xml=simplexml_load_file("file_xml/news_nuoto.xml");

    file_xml/news_nuoto.xml naturalmente e' il percorso del file xml

    La cosa strana e' che come dicevo, in locale funziona perfettamente e su altervista no...anche se la versione di php su altervista e' piu' recente di quella che uso io in locale

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Controlla il contenuto di $xml: se è false significa che è avvenuto un errore durante l'elaborazione del documento.
    Qual'è l'indirizzo del file caricato? Se è http://brinellaprova.altervista.org/...news_nuoto.xml allora hai dimenticato di caricarlo.
    Ultima modifica di karl94 : 07-09-2010 alle ore 16.24.08

Regole di scrittura

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