Visualizzazione risultati 1 fino 7 di 7

Discussione: problema con XML

  1. #1
    Guest

    Predefinito problema con XML

    Ciao a tutti. Ho un piccolo problema con XML.
    Nel mio sito ho deciso di costruire il menu principale usando un file XML che contenga la definizione dello stesso. Il codice è il seguente:
    Codice PHP:
    $defMenuHTML = '<table width="100%" border="0" class="MMenu" cellpadding="0" cellspacing="0">';
    $defMenuHTML .= '<tr>';
    $xmlDef = 'main_menu_header.xml';
    $defMenuXML = new DOMDocument();
    $defMenuXMl->load($xmlDef);
    $menuVoices = $defMenuXML->getElementsByTagName('menu/vocimenu/voce');
    foreach(
    $menuVoices as $voice)
    {
    $tipoRef = $voice->getElementsByTagName('tiporif')->item(0)->nodeValue;
    $rif = $voice->getElementsByTagName('riferimento')->item(0)->nodeValue;
    $titolo = $voice->getElementsByTagName('titolo')->item(0)->nodeValue;
    if (
    $tipoRif == 'div')
    {
    $defMenuHTML .= '<td><a href=#'.$rif.'>'.$titolo.'</a></td>';
    }
    }
    $defMenuHTML .= '</tr></table>';
    echo
    $defMenuHTML;
    il file xml è:
    Codice HTML:
    <menu>
    	<vocimenu>
    		<voce>
    			<titolo>CHI SIAMO</titolo>
    			<tiporif>div</tiporif>
    			<riferimento>tabWho</riferimento>
    		</voce>
    		<voce>
    			<titolo>NEWS</titolo>
    			<tiporif>div</tiporif>
    			<riferimento>tabNews</riferimento>
    		</voce>
    		<voce>
    			<titolo>REGATE</titolo>
    			<tiporif>div</tiporif>
    			<riferimento>tabRegate</riferimento>
    		</voce>
    	</vocimenu>
    </menu>
    All'esecuzione da il messaggio:

    Codice:
    Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /membri2/iovelista/main_menu_header.php on line 10
    ho provato in diversi modi ma mi da sempre lo stesso errore.
    Qualcuno mi sa dare una mano??
    Grz
    Ultima modifica di dreadnaut : 23-12-2007 alle ore 17.22.53 Motivo: + tag [php] e [html]

  2. #2
    Ospite Guest

    Predefinito

    Sposta lo script nella cartella "php5", lì dovrebbe funzionare senza problemi.

    Ti faccio notare un erroretto di battitura:

    Codice PHP:
    $defMenuXMl->load($xmlDef);
    Dovrebbe essere:

    Codice PHP:
    $defMenuXML->load($xmlDef);
    Ciao!

  3. #3
    Guest

    Predefinito

    OK, provo subito.

    Grazie


    EDIT: Ho creato la cartella PHP5 nella root e ho salvato qui dentro i file e cambiato i riferimenti (PHP5/main_menu_header.php): il risultato non è cambiato.
    Forse non ho capito bene quello che dovevo fare??
    Ultima modifica di funcool : 24-12-2007 alle ore 11.42.06

  4. #4
    Ospite Guest

    Predefinito

    La cartella deve chiamarsi "php5" e non "PHP5".

    Io l'avevo scritto in maiuscolo per evidenziarlo.

    Ciao!

  5. #5
    Guest

    Predefinito

    Ho provato anche con php5 in minuscolo ma il risultato è lo stesso.
    Chiaramente ho sistemato anche i riferimenti nel codice php.

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Se l'errore è sempre quello, indica qual è la riga 10.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    LA riga 10 è la seguente:

    $tipoRef = $voice->getElementsByTagName('tiporif')->item(0)->nodeValue;

    Ho provato anche a usare simplexml per navigare nel file xml ma all'accesso alla pagina mi dice che non è definita la funzione simplexml_load_file. Mi chiedo però una cosa: a me risulta che questa sia un'estensione di default in php5. Ma su altervista non girà php5? O sbaglio qualche cosa?

    ciao
    Ultima modifica di iovelista : 30-12-2007 alle ore 17.01.24

Regole di scrittura

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