Jest coś, czego nie rozumiem w pełni przy klonowaniu węzłów za pomocą aplikacji DOM DOM aplikacji PHP. Oto przykładowy plik, który szybko duplikuje pojawiający się problem.Klonowanie i dołączanie DOMElement: "Błędny błąd dokumentu"
$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());
Po uruchomieniu ten mały fragment na wyjątek
Fatal error: Uncaught exception 'DOMException' with message 'Wrong Document Error'
Nie mogę złapać węzeł z dokumentu, sklonować go, a następnie dołączyć go do innego dokumentu?
Idealny, dzięki. Przeszukiwałem interfejsy 'DOMNode' i' DOMElement' szukając czegoś, co pozwoliłoby mi to zrobić i (głupio) nigdy nie sprawdzałem metod 'DOMDocument' =/ –
Gdzie dodałeś funkcję importNode? Dodałem go do mojego kodu i nadal dostaję błąd. – NobleUplift
@NobleUplift Musisz wywołać 'importNode', aby zaimportować węzeł z jednego dokumentu do innego dokumentu. Potem możesz dodać ją jako dziecko tam, gdzie chcesz. – Gumbo