【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を返します。