【PHP8.x】removeAttributeNodeメソッドの使い方
removeAttributeNodeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
removeAttributeNodeメソッドは、DOM要素から指定された属性ノードを削除するメソッドです。このメソッドは、引数として削除対象となる属性を表す Dom\Attr オブジェクトを受け取ります。指定された属性ノードがその要素に存在する場合、その属性を要素から完全に取り除きます。処理が成功した場合、戻り値として削除された Dom\Attr オブジェクトを返します。これにより、削除した属性ノードを後で別の要素に追加するなど、再利用することが可能になります。もし指定された属性が要素に見つからなかった場合や、削除に失敗した場合には false を返します。類似の機能を持つ removeAttribute メソッドが属性名を文字列で指定するのに対し、removeAttributeNode は属性ノードオブジェクトそのものを直接扱う点が異なります。このため、特定の属性インスタンスを正確に識別して操作したい場合に特に有効です。ただし、存在しない属性ノードを削除しようとすると DOMException が発生する可能性があるため注意が必要です。
構文(syntax)
1<?php 2 3$document = new DOMDocument(); 4$document->loadXML('<product code="X-123" stock="50"></product>'); 5 6$element = $document->getElementsByTagName('product')->item(0); 7$attribute = $element->getAttributeNode('stock'); 8 9// Dom\Attr オブジェクトを引数に指定して属性を削除します 10$removedAttribute = $element->removeAttributeNode($attribute);
引数(parameters)
Dom\Attr $attribute
- Dom\Attr $attribute: 削除したい属性を表す
Dom\Attrオブジェクト
戻り値(return)
Dom\Attr|false
指定された属性ノードが正常に削除された場合は、その属性ノードオブジェクトを返します。属性ノードの削除に失敗した場合は、falseを返します。