Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [PHP]Aggiungere nodo fisicamente a file xml

    ciao ragazzi.. ho un super problema...
    come si puo aggiungere un nodo o una serie di nodi ad un file xml con PHP?
    intendo scrivere fisicamente sul file..
    ho provato con DOM ma non mi scrive sul file ma aggiunge i nodi alla struttura nella pagina php...
    sto impazzendo ragazzi..

    ho provato anche con un fwrite ma ovviamente scrive dopo la chiusura del mio xml o della mia struttura

    ad esempio:
    <scuola>
    <alunno> marco</marco>
    <anno> 1987</anno>
    <classe> 5a </classe>
    </scuola>

    dopo fwrite ovviamnete se volessi aggiungere un altro alunno.. me lo scrive dopo la chiusura di </scuola>

    comef are per ovviare il problema?
    esistono dei metodi con DOM per scrivere fisicamente sul file xml?

  2. #2
    Con Dom non vedo dove sia il problema
    dato che lo puoi utilizzare come javascript
    quindi con una cosa del genere ti levi il dente
    Codice PHP:
    $dom = new DOMDocument('1.0''UTF-8');

    $element $dom->createElement('test''This is the root element!');

    // inserimento dell'elemento come root (figlio del nodo documento)
    $dom->appendChild($element);

    echo 
    $dom->saveXML(); 
    se trovi problemi posta il codice.

    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    grazie.. ma cosi mi crea un file xml? in quale directory lo inserisce? con che nome?

  4. #4
    lo script mi crea una pagina simil xml ma dal omento che io voglio aggiungere nodi o che siano aggiunti in maniera dinamica dopo un form ad esempio..
    il file creato ora salva i dati?

  5. #5
    Semplice esempio:

    file test.xml

    Codice PHP:
    <?xml version="1.0" encoding="UTF-8"?>
    <items>
    <alunno> marco</alunno>
    </items>



    Codice PHP:
    <?php
    $dom 
    = new DOMDocument('1.0''UTF-8');
    $dom->load('test.xml');
    $root$dom->documentElement;
    $alunno $dom->createElement('alunno');
    $text $dom->createTextNode('baldo');
    $alunno->appendChild($text);
    $root->appendChild($alunno);
    $dom->save('test.xml');
    ?>
    In questo modo aggiungi un nodo al doumento xml


    ti consiglio una letta a questo tutorial qui


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    ora va.. incredibile ha modificato xml..
    ti giuro l'avro fatto questo procedimento 100 volte oggi..
    non modificava xml..
    grazie mille

  7. #7
    grazie ancora e scusa se rompo..ora ho un altra domanda...
    anziche inserirlo in coda il nuovo nodo posso inserirlo in una posizione specifica?

  8. #8
    Con Dom un nodo lo puoi inserire
    o prima(insertBefore) o dopo(appendChild) tanto
    ai fini del dato non ti cambia nulla.
    Al limite potresti utilizzando cloneNode ricustruire
    il nodo ex-novo ma penso proprio che il gioco
    non valga la candela.





    PS.

    Non rispondo ai pm
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    grazie ancora...se io avessi un xml differente.. un po eterogeneo..
    <?xml version="1.0" encoding="UTF-8"?>
    <scuola>
    <classe>
    <alunno>stefano</alunno>
    <alunno>marco</alunno>
    </classe>

    <docenti>
    <professore> bonaventura</provessore>
    <professore> patrucco</provessore>
    </docenti>
    </scuola>

    e dovessi inserire un alunno o un docente come si puo inserire all'interno della struttura?

  10. #10
    ho trovato una funzione
    InsertAfter(additionalNode, nodeList(0).ChildNodes(5))

    qualcuno sa spiegarmi cosa e?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.