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

【PHP8.x】XMLReader::readOuterXml()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

readOuterXmlメソッドは、XMLReaderオブジェクトが現在位置しているノードとその子孫ノードを含むXML全体を文字列として取得するメソッドです。このメソッドは、現在のノードの開始タグから終了タグまでのすべての内容を、XML形式の文字列として返します。

具体的には、<item><title>サンプル</title><price>1000</price></item>のようなXMLデータにおいて、もしXMLReaderが<item>ノードに位置している場合、readOuterXmlメソッドは<item><title>サンプル</title><price>1000</price></item>という文字列全体を返します。この機能は、特定のXML要素とその内部構造すべてを一度に処理したい場合や、取得したXMLフラグメントを別のXML処理系に渡したい場合などに非常に役立ちます。

このメソッドを実行しても、XMLReaderの内部ポインタは次のノードには移動しません。引き続き次のノードを読み進めるためには、別途read()メソッドを呼び出す必要があります。現在のノードが有効でない場合や、外部XMLが存在しない場合は空の文字列が返されることがあります。返される文字列は通常、UTF-8でエンコードされます。

構文(syntax)

1<?php
2
3$reader = new XMLReader();
4$reader->XML('<root><item id="1">Data</item></root>');
5
6// XMLドキュメントの次のノードを読み進める
7$reader->read(); // <root>
8$reader->read(); // <item id="1">
9
10// 現在のノード (<item id="1">Data</item>) とその子孫を含むXMLを文字列として取得
11$outerXmlString = $reader->readOuterXml();
12echo $outerXmlString; // 出力: <item id="1">Data</item>
13
14$reader->close();
15
16?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string|false

現在のノードのXMLコンテンツを文字列として返します。ノードの終了に達した場合はfalseを返します。

関連コンテンツ