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

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

作成日: 更新日:

基本的な使い方

getRootNodeメソッドは、現在の属性ノードが属するドキュメントツリー階層の最上位にあるルートノードを取得するために実行するメソッドです。このメソッドは Dom\Node クラスから継承されており、属性ノードだけでなく、要素ノードやテキストノードなど、ツリー内のあらゆる種類のノードから呼び出すことが可能です。DOMでは、HTMLやXMLドキュメントがノードのツリー構造として表現されますが、その頂点に位置するのがルートノードであり、通常は Dom\Document オブジェクトが該当します。したがって、このメソッドを呼び出すことで、特定の属性が最終的にどのドキュメントに所属しているかを特定できます。オプションの引数として連想配列を渡すことができ、composed というキーに true を設定すると、シャドウルートを通過してルートノードを探索します。戻り値は、発見されたルートノードを表す Dom\Node オブジェクトです。このメソッドは、あるノードが属するドキュメント全体に対して操作を行いたい場合や、ノードの所属元を確認する際に役立ちます。

構文(syntax)

1$document = new DOMDocument();
2$document->loadXML('<book id="B001"></book>');
3$attributeNode = $document->documentElement->getAttributeNode('id');
4
5$rootNode = $attributeNode->getRootNode();

引数(parameters)

?array $options = null

  • ?array $options = null: 取得するノードのオプションを指定する配列。指定しない場合はnullとなり、デフォルトのオプションが使用されます。

戻り値(return)

Dom\Node

このメソッドは、属性ノードが属する文書ツリーのルートノード(通常は Dom\Document オブジェクト)を Dom\Node 型で返します。

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