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

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

作成日: 更新日:

基本的な使い方

getNamedItemメソッドは、DOMNamedNodeMapオブジェクトの中から指定した名前のノードを取得するために使用するメソッドです。DOMNamedNodeMapは、XML文書やHTML文書における要素の属性の集まりを表すコレクションです。例えば、あるHTML要素が持つidclassといった複数の属性は、この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 を返します。

【PHP8.x】getNamedItemメソッドの使い方 | いっしー@Webエンジニア