Visualizzazione risultati 1 fino 5 di 5

Discussione: [php] Inserimento di un nodo in cima ad un file xml

  1. #1
    Guest

    Predefinito [php] Inserimento di un nodo in cima ad un file xml

    Ragazzi come faccio ad inserire un nodo in un file XML in cima? Conosco la procedura per inserirlo in coda...con Php è possibile l'inserimento in testa?

  2. #2
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Per in cima ovviamente intendi dopo l'intestazione dell'xml vero? ovvero questo:

    Codice:
    <?xml version=".."..?>
    Se si credo che non esista un metodo del genere, se mai potresti riscrivere il file scrivendo prima quel nodo che ti serve mettere sopra e poi il resto del documento.

    Che, per caso, tutto questo ti serve per visualizzarli, in un'altra pagina, in oltre, mettendo in cima il nodo memorizzato per ultimo? se si non ti occorre memorizzare in cima il nodo, ma visualizzare il documento all'incontrario, cioè dall'ultimo al primo elemento, se e quello che te indenti ottenere, visto la tua domanda, altrimenti te lo scritto sopra il metodo che potrai adottare.
    Ultima modifica di sevenjeak : 06-06-2011 alle ore 09.27.43

    Sevenjeak
    Software developer and much more

  3. #3
    Guest

    Predefinito

    Ti spiego il problema nello specifico...

    Vorrei creare un file XML su cui scrivere delle News da parte degli utenti registrati...quindi le nuove news devono andare a mettersi in cima. Adesso che ci penso dovrebbe funzionare ugualmente la stampa al contrario...

    (in seguito vorrei implementare anche l'eliminazione delle News ma con la stampa al contrario non dovrebbe cambiare nulla)

    Mi potresti illustrare come fare la stampa al contrario? grazie

  4. #4
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Ti faccio un'esempio:

    Codice PHP:
    $xml = new DOMdocument();
    $xml->load("file_xml");

    $root = $xml->documentElement();

    // Supponiamo che ti interessa recuperare il testo all'interno di nome_nodo, qui estrai tutti i nodi che ti interessano
    $elements = $root->getElementById("nome_nodo");

    // Inserisco un ciclo for all'incontrario, con $i che è pari al numero di elementi di $elements, e che decrementa al posto di incrementare
    for ($i = count($elements); isset($elements[$i]); $i--)
    {
    // Stampiamo il valore dell'elemento dell'indice $i, in questo, visto il form, la pagina restituisce per primo l'ultimo elemento e per ultimo il primo.
    echo $elements[$i]->item(0)->nodeValue;
    }
    Più o meno il codice dovrebbe essere cosi, avendo scritto in fretta il codice, ma la condizione.

    P.S.: Ovviamente la condizione del for isset(..) e scritta cosi supponendo che tutti gli elementi vengono visualizzati nella stessa pagina.
    Ultima modifica di sevenjeak : 06-06-2011 alle ore 22.38.32

    Sevenjeak
    Software developer and much more

  5. #5
    Guest

    Predefinito

    mi dà questo errore
    Fatal error: Call to undefined method DOMDocument::documentElement() in C:\xampp\htdocs\Esercizi\Sito SDW\news.php on line 21
    Cmq per farti capire la situazione meglio il mio file xml è strutturato nel seguente modo:

    <notizie>
    <news>
    <autore></autore>
    <titolo></titolo>
    <testo></testo>
    </news>
    </notizie>

Regole di scrittura

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