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

    Posizionamento cursore su file

    salve a tutti, sto lavorando su un progettino alimentato da xml invece che da database, in fase di lettura non ho problemi, ora scaturisce un problema, non riesco a scrivere il file nel punto che vorrei, vi faccio un esempio io ho questo file xml
    codice:
    <?xml version="1.0" standalone="yes"?>
    <utenti>
    	<utente>
    		<username>pincopallino1</username>
    		<password>password convertita in sha1</password>
    	</utente>
    	<utente>
    		<username>pincopallino2</username>
    		<password>password convertita in sha1</password>
    	</utente>
    	<utente>
    		<username>pincopallino3</username>
    		<password>password convertita in sha1</password>
    	</utente>
    	
    </utenti>
    nel caso voglia iscrivere un nuovo utente, vorrei posizionare il tutto nello spazio bianco tra l'ultimo </utente> e </utenti> il problema che ogni volta non ci riesco, avevo pensato che forse calcolando le righe di codice gia scritto potrei matematicamente stabilire la posizione in cui scrivere, ma non so se esiste un modo per posizionare il cursore sulla riga invece che su un determinato numero di carattere
    N.B.: Non voglio la minestra già pronta, bensi vorrei possibilmente che mi spiegaste se è possibile il funzionamento, così autonomamente io possa trovare la soluzione più adatta a quello di cui ho bisogno

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    Molto probabilmente esistono modi migliori, ma potresti fare...

    ...supponiamo che hai la stringa con i dati del nuovo utente nella variabile $lastUser:

    1. metti il contenuto xml in una stringa
    Codice PHP:
    $testoContenutoNelFile file_get_contents("nomeFile.xml"); 
    2. sostituisci nella stringa ad "</utenti>" la parte relativa al nuovo utente postponendo "</utenti>"
    Codice PHP:
    $testoContenutoNelFile str_replace("</utenti>"$lastUser."</utenti>"$testoContenutoNelFile); 
    3. riscrivi l'intero file

    Molto probabilmente già lo sai, ma l'xml non è un granchè per fare certe cose.

    Infine dai un'occhiata qui

    Se lavori con php5 magari simpleXML è quello che fa per te... magari, ma non ho la più pallida idea di cosa sia

    Buona fortuna.

  3. #3
    grazie longilineo, come sempre cerco solo le soluzioni più difficili, e ho davanti agli occhi le cose più facili, sto già utilizzando SimpleXML e lo so che XML è limitato sotto alcuni punti di vista, ma siccome è una cosa mia personale, sto facendo un po di pratica, casomai questa cosa dovesse finire in pubblica passo ai db

  4. #4
    Beh, non so se simpleXML lo faccia, ma tecnicamente parlando devi semplicemente aggiungere un nodo utente al nodo utenti. Probabile che esista un metodo addNode (o addChild o simili) a cui passi i vari parametri...(nome del padre, nome del figlio, parametri del figlio in array) tipo
    Codice PHP:
    $xml simplexml_load_file('utenti.xml')
    $dati = array("username" => "pippo""password" => "pluto");
    $xml->addChild("utenti""utente"$dati); 

  5. #5
    grazie anche a te dascos, si infatti sono andato a vedere refernce su w3school ed esiste sia la funzione per creare un nodo sia addChild, credo che userò questo metodo

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 © 2025 vBulletin Solutions, Inc. All rights reserved.