【PHP8.x】Dom\EntityReference::parentElementプロパティの使い方
parentElementプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
parentElementプロパティは、現在のエンティティ参照ノード(Dom\EntityReference)の親である要素ノード(Dom\Element)を保持するプロパティです。DOMツリー構造において、このノードがどの要素の直接の子であるかを示します。このプロパティは、親ノードが存在し、かつその親が要素である場合にのみ、その親のDom\Elementオブジェクトを返します。もし現在のノードに親が存在しない場合や、親が存在していてもそれが要素ノードではない場合(例えば、ドキュメントノードが親であるなど)にはnullを返します。類似のparentNodeプロパティが要素以外のノードタイプも返す可能性があるのに対し、parentElementは親が要素である場合に限定して値を取得したい時に非常に便利です。特定のエンティティ参照を含む要素を特定し、その要素の属性を変更するなどの操作を行う際に役立ちます。なお、このプロパティは読み取り専用であり、値を代入して親子関係を変更することはできません。
構文(syntax)
1<?php 2 3$xml = <<<XML 4<?xml version="1.0"?> 5<!DOCTYPE root [ 6 <!ENTITY my_entity "entity text"> 7]> 8<root> 9 <child>&my_entity;</child> 10</root> 11XML; 12 13$doc = new DOMDocument(); 14$doc->loadXML($xml); 15 16// <child>要素の子ノードであるエンティティ参照ノードを取得します 17$entityReference = $doc->getElementsByTagName('child')->item(0)->firstChild; 18 19// Dom\EntityReference オブジェクトの parentElement プロパティにアクセスし、 20// 親である <child> 要素を取得します 21$parentElement = $entityReference->parentElement; 22 23// 親要素のタグ名を出力します 24// 出力: child 25if ($parentElement !== null) { 26 echo $parentElement->tagName; 27} 28 29?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
?Dom\Element
この parentElement プロパティは、現在の要素の親要素を表す Dom\Element オブジェクトを返します。親要素が存在しない場合は null を返します。