Ciao io sto cercando di creare uno shiftamento per i nodi di un file XML.
Finmchè si tratta di un nodo semplice quindi senza figli tutto va benissimo.
Il problema è che ora dovrei farlo con nodi che contengono dei figli.
esempio di un nodo:
Uso dom PHP5 e con il metodo cloneNode(true) mi vengono clonati solo i valori dei nodi figli e non anche i nodi stessi.codice:<?xml version="1.0" encoding="UTF-8"?> <archivio> <storia> <titolo><![CDATA[prova2]]></titolo> <cartella><![CDATA[prova2]]></cartella> <front>Untitled-1.jpg</front> <galleria/> </storia> <storia> <titolo><![CDATA[prova]]></titolo> <cartella><![CDATA[prova]]></cartella> <front>41421_1505144136_1766_n.jpg</front> <galleria> <img>41421_1505144136_1766_n.jpg</img> <img>Untitled-1.jpg</img> </galleria> </storia> </archivio>
forse più chiaro se vi posto il codice che uso
Qui praticamente il nuovo nodo sarà così:Codice PHP:
$imgshift=$root->getElementsByTagName("storia")->item($iditem);
if($shifttype==1)
$imgoldshift=$root->getElementsByTagName("storia")->item($iditem+1);
if($shifttype==0)
$imgoldshift=$root->getElementsByTagName("storia")->item($iditem-1);
$temp=$imgoldshift->cloneNode(true);
$imgoldshift->nodeValue=$imgshift->nodeValue;
$imgshift->nodeValue=$temp->nodeValue;
<storia>prova prova 41421_1505144136_1766_n.jpg.......</storia>
invece che ricreare la struttura con i nodi giusti.
Spero di esser stato abbastanza chiaro, grazie. Ogni soluzione alternativa è ben accetta, ripeto il mio scopo è quello di spostare un nodo <storia> con i suoi figli una posizione prima o dopo all'interno del file.

Rispondi quotando
non ci avevo minimamente pensato
Grandissimo
