SimpleXMLElement::asXML

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

説明

public stringbool SimpleXMLElement::asXML(stringnull $filename = null)

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
// 上の XML の例から続く

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

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

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

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

参考