PHPのDOM APIでノードクローンについて完全に理解できないことがあります。ここに私が出くわす問題を迅速に複製するサンプルファイルがあります。DOMElementのクローニングと追加: '間違ったドキュメントエラー'
$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());
あなたはこの小さなスニペットを実行すると例外が
Fatal error: Uncaught exception 'DOMException' with message 'Wrong Document Error'
は、私は、ドキュメントからノードをつかむことのクローンを作成し、別の文書に追加できませんスローされますか?
完璧、ありがとう。私は 'DOMNode'と' DOMElement' APIを使って検索していました。私はこれをやり遂げることができ、(愚かなことに) 'DOMDocument'メソッドをチェックしませんでした=/ –
importNodeをどこに追加しましたか?私はそれを私のコードに加えましたが、私はまだエラーが発生しています。 – NobleUplift
@NobleUpliftあるドキュメントから別のドキュメントにノードをインポートするには、 'importNode'を呼び出す必要があります。その後、あなたが望む場所に子供として追加することができます。 – Gumbo