SimpleXMLElement::asXML: SimpleXML 要素に基づき整形式の XML 文字列を返す (SimpleXMLElement) - PHPプロ!マニュアル

PHPマニュアル

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

SimpleXMLElement::asXML

(PHP 5 >= 5.0.1)

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

説明

public mixed SimpleXMLElement::asXML ([ string $filename ] )

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

パラメータ

filename

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

返り値

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

例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');

while(list( , 
$node) = each($result)) {
    echo 
$node->asXML();
}
?>

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

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


PHPマニュアル



Pick Up Q&A

Q
array_mergeの再帰処理の動作について
 このエントリーをはてなブックマークに追加 
A
>1個になったとき$leftを返しますが、 >このとき、最終的な$leftはnullになるかと思います。 いいえ、最後は「渡された配列をそのまま」返します。要素が2以上あるときとの違いは(並べ替えずに戻るので...

>>続きを読む

再帰関数は最初の内は混乱しますが、非常に上手く使える場面もいずれ出てきます。これを機会に学んでいけるといいですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)