【PHP8.x】getNamedItemメソッドの使い方
getNamedItemメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getNamedItemメソッドは、DOMNamedNodeMapオブジェクトの中から指定した名前のノードを取得するために使用するメソッドです。DOMNamedNodeMapは、XML文書やHTML文書における要素の属性の集まりを表すコレクションです。例えば、あるHTML要素が持つidやclassといった複数の属性は、このDOMNamedNodeMapオブジェクトとして管理されます。このメソッドは、引数に属性名などのノード名を文字列として渡すことで、その名前を持つノードをコレクション内から探し出します。指定された名前のノードが見つかった場合は、そのノードを表すDOMNodeオブジェクト(通常はDOMAttrオブジェクト)を返します。一方、コレクション内に該当する名前のノードが存在しなかった場合には、nullを返します。このため、メソッドの実行結果を変数に受け取った後、その変数がnullでないことを確認してから後続の処理を行うことが重要です。このメソッドにより、特定の属性の存在確認や、属性ノード自体の取得を簡単に行うことができます。
構文(syntax)
1<?php 2 3$document = new DOMDocument(); 4$document->loadHTML('<p id="p1" class="main">Hello</p>'); 5 6// <p> 要素の DOMElement を取得 7$element = $document->getElementsByTagName('p')->item(0); 8 9// 要素の属性リスト (DOMNamedNodeMap) を取得 10$attributes = $element->attributes; 11 12// 'id' という名前の属性ノード (DOMAttr) を取得 13// public DOMNamedNodeMap::getNamedItem(string $qualifiedName): ?DOMNode 14$idNode = $attributes->getNamedItem('id'); 15 16// 取得した属性ノードの値を出力 17if ($idNode !== null) { 18 echo $idNode->value; // "p1" が出力される 19} 20 21?>
引数(parameters)
string $qualifiedName
- string $qualifiedName: 検索する属性の名前を指定する文字列
戻り値(return)
?DOMNode
指定された名前と一致する属性ノードを返します。一致するノードが見つからない場合は null を返します。