【PHP8.x】childNodesプロパティの使い方

childNodesプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

childNodesプロパティは、DOMCharacterDataオブジェクトのすべての子ノードを保持する読み取り専用のDOMNodeListオブジェクトを返します。

DOMCharacterDataは、テキストノード(DOMText)、コメントノード(DOMComment)、処理命令ノード(DOMProcessingInstruction)といった、文字データを含むノードの抽象基底クラスです。これらのノードは、XMLやHTMLドキュメントの構造を表現するDOM(Document Object Model)ツリーの一部を構成します。

childNodesプロパティは、これらのDOMCharacterDataオブジェクトが直接的な子ノードを持つことはないため、常に空のDOMNodeListを返します。これは、DOMCharacterDataオブジェクトがテキストデータなどを保持するリーフノードとして扱われるためです。子ノードの概念は、要素ノード(DOMElement)などの、他のノードを子として持つことができるノードに適用されます。

したがって、DOMCharacterDataオブジェクトのchildNodesプロパティにアクセスしても、DOMCharacterDataオブジェクトが保持するテキストデータ自体が子ノードとして返されるわけではありません。あくまで、空のリストが返されるという点に注意が必要です。DOMCharacterDataが保持するテキストデータにアクセスする場合は、dataプロパティを使用します。childNodesプロパティはDOMNodeインターフェースから継承されていますが、DOMCharacterDataにおいては常に空のリストを返すという特殊な挙動をします。

構文(syntax)

1DOMCharacterData::$childNodes;

引数(parameters)

引数なし

引数はありません

戻り値(return)

DOMNodeList | null

DOMCharacterDataオブジェクトが持つ子ノードのリスト、または子ノードがない場合はnullを返します。

【PHP8.x】childNodesプロパティの使い方 | いっしー@Webエンジニア