SimpleXMLElement::asXML
PHP Manual
PHP Manual»SimpleXMLElement»SimpleXMLElement::asXML

SimpleXMLElement::asXML

(PHP 5, PHP 7, PHP 8)

SimpleXMLElement::asXML — SimpleXML 要素に基づき整形式の XML 文字列を返す

説明

public function SimpleXMLElement::asXML(?string $filename = null): string|bool

asXML メソッドは、親オブジェクトのデータを XML version 1.0 形式にフォーマットします。

パラメータ

filename

文字列を指定した場合、データを返すかわりにファイルにデータを書き込みます。

戻り値

filename が指定されていない場合、この関数は 成功時に string 、エラー時に false を返します。 パラメータが指定されていた場合は、ファイルが正常に書き込めたときに true 、そうでないときに false を返します。

変更履歴

バージョン 説明
8.0.0 filename は、nullable になりました。

例

例1 XML を取得する

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

echo $xml->asXML();

?>

上の例の出力は以下となります。

<?xml version="1.0"?>
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>

asXML は Xpath の結果にも適用できます:

例2 SimpleXMLElement::xpath() の結果に asXML() を使用する

<?php
$string = <<<XML
<a>
 <b>
  <c>text</c>
  <c>stuff</c>
 </b>
 <d>
  <c>code</c>
 </d>
</a>
XML;

$xml = new SimpleXMLElement($string);

/* <a><b><c>を探す */
$result = $xml->xpath('/a/b/c');

foreach ($result as $node) {
    echo $node->asXML();
}
?>

上の例の出力は以下となります。

<c>text</c><c>stuff</c>

参考

To Top