【PHP8.x】importNodeメソッドの使い方

importNodeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

importNodeメソッドは、他のXMLドキュメントに属するノードを、現在のDom\XMLDocumentインスタンスにインポートして、このドキュメントの一部として扱えるようにするメソッドです。このメソッドを利用することで、異なるドキュメントからXMLの要素や属性、テキストなどのノードを取り込み、現在のドキュメント内で操作したり追加したりすることが可能になります。

第一引数には、インポートしたいDOMノードオブジェクトを渡します。第二引数 $deep はオプションで、真偽値 (true または false) を指定します。true を指定すると、対象ノードだけでなく、そのノードの子ノードもすべて再帰的にインポートされます。false または省略した場合、対象ノード自身のみがインポートされ、子ノードは含まれません。

このメソッドは、新しくインポートされ、現在のドキュメントに属するようになったノードオブジェクトを返します。もしインポート処理が失敗した場合は false が返されます。元のドキュメントからノードが移動するのではなく、元のノードはそのまま残り、そのコピーが現在のドキュメント用に作成される点が重要です。複数のXMLデータを組み合わせて一つのドキュメントを構築するような場面で、この機能は大変有用です。

構文(syntax)

1$importedNode = $targetDocument->importNode($sourceNode, $deep);

引数(parameters)

DOMNode $node, bool $deep = false

  • DOMNode $node: インポートするDOMNodeオブジェクト
  • bool $deep = false: trueを指定すると、指定した$nodeの子要素もすべて再帰的にインポートします。falseの場合、$nodeのみをインポートします。

戻り値(return)

Dom\Node

指定されたXMLノードを、現在のXMLドキュメントにインポートした新しいノードを返します。

【PHP8.x】importNodeメソッドの使い方 | いっしー@Webエンジニア