【PHP8.x】parentNodeプロパティの使い方

parentNodeプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

parentNodeプロパティは、所属するDOMNotationオブジェクトの親ノードを保持するプロパティです。PHPのDOM拡張機能の一部として提供されており、XML文書の構造をプログラムで扱う際に利用されます。DOMNotationクラスは、XML文書のDTD(Document Type Definition)内で定義される「記法」を表す特殊なノードです。

このparentNodeプロパティを使用すると、現在のDOMNotationオブジェクトがXML文書の階層構造において、どのノードの子であるかを確認できます。具体的には、このプロパティは現在のDOMNotationオブジェクトの直上にある親ノード、すなわちこのノードを子として持つ上位のノードを返します。返される親ノードはDOMNode型のオブジェクトであり、XML文書内の様々な要素やテキストなどを表すノードの基底クラスです。もし、何らかの理由で親ノードが存在しない場合には、このプロパティはnullを返します。

このプロパティは、XML文書の複雑な構造をプログラムで理解し、特定のノードの位置関係を調べたり、ツリー構造を辿って情報を取得したりする際に非常に有用です。システムエンジニアを目指す初心者の方も、XML文書が木のような階層構造を持っていることをイメージしながら、各ノードの親子関係を把握するためにこのプロパティを活用できます。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$xmlString = '<!DOCTYPE example [<!NOTATION gif SYSTEM "image/gif">]><example/>';
4$dom->loadXML($xmlString);
5
6$notation = null;
7if ($dom->doctype && $dom->doctype->notations) {
8    foreach ($dom->doctype->notations as $node) {
9        if ($node instanceof DOMNotation) {
10            $notation = $node;
11            break;
12        }
13    }
14}
15
16if ($notation) {
17    $parentNode = $notation->parentNode;
18}

引数(parameters)

引数なし

引数はありません

戻り値(return)

?DOMNode

DOMNotation オブジェクトが所属する親ノードを DOMNode オブジェクト、または親ノードが存在しない場合は null を返します。

関連コンテンツ

関連プログラミング言語