Ho un altro problema questo pero e' piu preoccupante
se ho un na variabile simpleXML io posso navigare tranquillamente nell'albero
usando i puntatori.
Pero modificare gli attributi basta semplicemente assegnare un nuovo valore.
tipo
Codice PHP:
XML
<main>
<nodo>Ciao</nodo>
</main>
$xml = simplexml_load_string('<main><nodo>Ciao</nodo></main>');
$echo $xml->nodo ,"\n"; //stampa ciao
$xml->nodo = "Hello!";
$echo $xml->nodo,"\n"; //stampa hello!
il mio problema e' che se voglio modificare il valore di un nodo il nodo
cambia da simpleXMLelement a stringa e il problema ancora piu grosso e' che
se voglio modificare il valore di un nodo che hai dei figli mi cancella i figli
tipo
Codice PHP:
$xml = simplexml_load_string('<main><nodo>Ciao<nodofiglio>figlio</nodofiglio></nodo></main>');
$echo $xml->nodo," ",$xml->nodo->nodofiglio ,"\n"; //stampa ciao figlio
$xml->nodo = "Hello!";
$echo $xml->nodo," ",$xml->nodo->nodofiglio ,"\n"; //da errore perche' nodo e' una stringa
oltre a questo avrei la necessita' di inserire nodi in testa all'elenco dei figli
non in conda come fa il metodo addChild();
una soluzione che ho pensato sarebbe tipo
Codice PHP:
$xml->nodo = array ('valore' => "Hello!" , $xml->nodo->nodofiglio)
non e' corretta per niente ma l'idea sarebbe quella di assegnare al nodo
un oggetto ricostruito ma a questo punto non so bene come scriverlo.
Qualcuno piu praticosa come fare ?
Andrea