PHP DOM操作で別ドキュメントからのノードをコピーする方法 Uncaught DOMException: Wrong Document Error in

DOMDocumentを使ってHTMLの特定要素を抽出し別ドキュメントにコピーしようとした際に以下のエラーが発生した。

PHP Fatal error: Uncaught DOMException: Wrong Document Error in

エラーになったソースは以下の通りです。
やりたい事
$htmlpathFmにあるhtmlファイルから、abcというクラス名を持つ要素を抽出します。それを$htmlToにあるhtmlファイルのxyzというクラス名を持つ要素の前に挿入する。(よくないのですが、xyzのクラス名を持つ要素は一つだけという前提です。)
上記コードを実行すると"PHP Fatal error: Uncaught DOMException: Wrong Document Error in …"というエラーが発生します。$itemをコピーした$newNodeは$docFm所有のノードなので、ことなるドキュメント$docToのノードに挿入することは出来ないようです。それで上記のエラーが発生するようです。知識不足でした。
解決策としてはimportNodeメソッドを使用するようです。
これで無事に解決しました。

コメント

人気の投稿