【PHP8.x】DOMProcessingInstruction::getRootNode()メソッドの使い方
getRootNodeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getRootNodeメソッドは、処理命令ノード(DOMProcessingInstructionオブジェクト)が属しているドキュメントツリーのルートノードを取得するために実行するメソッドです。XMLやHTML文書は、要素やテキストなどが親子関係を持つ階層的なツリー構造として扱われます。このメソッドは、そのツリー構造の最上位、つまり「根」にあたるノードを返します。通常、このルートノードは文書全体を表すDOMDocumentオブジェクトになります。したがって、特定の処理命令ノードから、それが含まれている文書全体の情報にアクセスしたい場合に便利です。もし、対象のノードがまだどのドキュメントにも追加されておらず、単独で存在する孤立した状態である場合、このメソッドはそのノード自身をルートノードとして返します。返り値はDOMNode型であり、ノードがツリーの一部であればそのツリーの最上位ノードを、そうでなければ自分自身を取得できるため、ノードの現在の所属状態を把握する上でも役立ちます。
構文(syntax)
1<?php 2 3$xml = <<<XML 4<?xml version="1.0" encoding="UTF-8"?> 5<?php-app-version 1.2.3?> 6<document> 7 <user>John Doe</user> 8</document> 9XML; 10 11$doc = new DOMDocument(); 12$doc->loadXML($xml); 13 14// 処理命令ノード(DOMProcessingInstruction)を取得します 15// この例では、XML宣言の次のノードです 16$piNode = $doc->childNodes->item(1); 17 18// 処理命令ノードが属するツリーのルートノードを取得します 19$rootNode = $piNode->getRootNode(); 20 21// 取得したルートノード(この場合はドキュメント自体)のノード名を出力します 22// 出力結果: #document 23echo $rootNode->nodeName; 24 25?>
引数(parameters)
?array $options = null
- ?array $options = null: DOMツリーの処理に関するオプションを指定する配列。指定しない場合はデフォルトのオプションが使用されます。
戻り値(return)
DOMNode
このメソッドは、DOMProcessingInstruction オブジェクトが属するドキュメントツリーのルートノードを表す DOMNode オブジェクトを返します。