C'è qualcosa che non capisco del clonaggio dei nodi con il DOM API di PHP. Ecco un file di esempio che duplica rapidamente il problema che sto incontrando.Clonazione e aggiunta di DOMElement: 'Errore documento errato'
$doc = new DOMDocument('1.0', 'UTF-8');
$root = $doc->createElement('root'); // This doesn't work either $root = new DOMElement('root');
$doc->appendChild($root);
$doc2 = new DOMDocument('1.0', 'UTF-8');
$root2 = $doc2->createElement('root2');
$doc2->appendChild($root2);
// Here comes the error
$root2->appendChild($root->cloneNode());
Quando si esegue questo piccolo frammento viene generata un'eccezione
Fatal error: Uncaught exception 'DOMException' with message 'Wrong Document Error'
Non posso afferrare un nodo da un documento, clonarlo, e poi aggiungerla ad un altro documento?
Perfetto, grazie. Stavo cercando tra le API 'DOMNode' e' DOMElement' alla ricerca di qualcosa che mi permettesse di farlo e (follemente) non ho mai controllato i metodi 'DOMDocument' =/ –
Dove hai aggiunto importNode? L'ho aggiunto al mio codice e sto ancora ricevendo l'errore. – NobleUplift
@NobleUplift È necessario chiamare 'importNode' per importare un nodo da un documento a un altro documento. Dopo di che puoi aggiungerlo come un bambino dove vuoi. – Gumbo