Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】Dom\ProcessingInstruction::getNodePath()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

getNodePathメソッドは、ドキュメントのルートノードから現在の処理命令ノードまでの一意な場所を示すXPath形式のパスを取得するメソッドです。このメソッドを実行すると、対象の処理命令ノードがXMLやHTMLドキュメントの階層構造内のどこに位置しているかを示す、絶対パスが文字列として返されます。返されるパスはXPath 1.0の構文に準拠しており、このパスを利用することで、ドキュメント内の特定のノードを正確に再特定することが可能になります。例えば、複雑なXMLドキュメントを解析し、特定の処理命令ノードの場所を記録しておきたい場合などに便利です。このメソッドは引数を必要としません。もし、このメソッドが呼び出されたノードが、どのドキュメントにも関連付けられていない状態である場合は、パスを特定できないため null を返します。DOMツリー内でのノードの正確な位置情報をプログラムで把握し、操作する際に非常に役立つ機能です。

構文(syntax)

1<?php
2
3$xml = <<<XML
4<?xml version="1.0" encoding="UTF-8"?>
5<book>
6  <?php-stylesheet type="text/css" href="style.css"?>
7  <title>PHP Cookbook</title>
8</book>
9XML;
10
11$dom = new DOMDocument();
12$dom->loadXML($xml);
13
14$xpath = new DOMXPath($dom);
15
16// 処理命令ノードを取得します
17$pi_node = $xpath->query('//processing-instruction("php-stylesheet")')->item(0);
18
19// Dom\ProcessingInstruction オブジェクトの XPath を取得します
20$path = $pi_node->getNodePath();
21
22echo $path; // 出力例: /book/processing-instruction("php-stylesheet")[1]
23

引数(parameters)

引数なし

引数はありません

戻り値(return)

?string

DOMツリーにおけるこのProcessingInstructionノードへのパスを文字列で返します。パスが存在しない場合はnullを返します。

関連コンテンツ

関連プログラミング言語