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

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

作成日: 更新日:

基本的な使い方

getRootNodeメソッドは、PHPのDOMCdataSectionクラスに属し、現在のDOMCdataSectionオブジェクトが属するDOMツリーの最上位のノード、すなわちルートノードを取得するメソッドです。DOMCdataSectionは、XMLやHTMLドキュメント内で、特殊文字をエスケープせずにそのままデータとして扱いたい場合に用いられるCDATAセクションを表すオブジェクトです。このメソッドを利用することで、特定のCDATAセクションがどのドキュメントの構造内に位置しているのかを、その最上位のノードからたどることができます。

PHPのDOM拡張におけるルートノードは、通常、ドキュメント全体の構造を管理するDOMDocumentオブジェクトを指します。したがって、このメソッドを呼び出すと、そのCDATAセクションが組み込まれているXMLまたはHTMLドキュメント全体のDOMDocumentオブジェクトが返されます。

例えば、複雑なXMLファイルをパースして、その中に含まれるCDATAセクションを処理する場合、getRootNodeメソッドを使用することで、そのCDATAセクションが属するドキュメント全体への参照を簡単に取得できます。これにより、特定のノードからドキュメント全体のコンテキスト(文脈)を把握したり、ドキュメント全体に対して行う操作の起点としてルートノードを活用したりすることが可能になります。システムエンジニアが文書構造の解析や、ノードがどのドキュメントに属しているかを確認するロジックを実装する際に、非常に有用な機能となります。

構文(syntax)

1<?php
2
3$dom = new DOMDocument();
4$element = $dom->createElement('root');
5$dom->appendChild($element);
6$cdataSection = $dom->createCDATASection('Example CDATA content');
7$element->appendChild($cdataSection);
8
9$rootNode = $cdataSection->getRootNode();
10
11?>

引数(parameters)

?array $options = null

  • array|null $options = null: DOMDocument::saveHTML()、DOMDocument::saveHTMLFile()、DOMNode::C14N()、DOMNode::C14NFile() に渡されるオプションを指定する配列、または null

戻り値(return)

DOMNode

このメソッドは、CDataセクションノードのルートノードであるDOMNodeオブジェクトを返します。

関連コンテンツ