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

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

作成日: 更新日:

基本的な使い方

『getRootNodeメソッドは、現在のノードが属している木構造(ツリー)の最も上位にあるノード、つまりルートノードを取得するために実行するメソッドです。通常、このメソッドはドキュメント全体を表すDOMDocumentオブジェクトを返します。このメソッドの動作は、ownerDocumentプロパティと似ていますが、重要な違いがあります。ownerDocumentプロパティは、ノードがドキュメントから切り離されている場合でも、そのノードが元々属していたDOMDocumentオブジェクトを返します。これに対し、getRootNodeメソッドは、現在ノードが接続されているツリーのルートを返します。例えば、ドキュメントの一部を保持するためのオブジェクトであるDOMDocumentFragment内のノードに対してこのメソッドを呼び出した場合、getRootNodeはそのDOMDocumentFragment自身をルートノードとして返します。引数としてオプションのビットマスクを指定することも可能で、HTMLドキュメントを扱う際に暗黙的な要素の追加を抑制するといった挙動の制御ができます。処理が成功した場合はルートとなるDOMNodeオブジェクトを返し、失敗した場合はfalseを返します。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$element = $dom->createElement('example');
5$dom->appendChild($element);
6
7$rootNode = $element->getRootNode();
8
9?>

引数(parameters)

?array $options = null

  • ?array $options = null: DOMドキュメントのルートノードを取得する際のオプションを指定する配列。省略可能で、指定しない場合はデフォルトのオプションが使用されます。

戻り値(return)

DOMNode

このメソッドは、現在のノードのルートノードを表すDOMNodeオブジェクトを返します。