SimpleXML 関数
PHP Manual

simplexml_load_file

(PHP 5)

simplexml_load_file XMLファイルをパースし、オブジェクトに代入する

説明

SimpleXMLElement simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] )

指定したファイルの中の整形式 XML ドキュメントをオブジェクトに変換します。

パラメータ

filename

XML ファイルへのパス。

注意:

Libxml 2 は URI をエスケープしませんので、例えば URI パラメータ ab&c を渡したい場合、 simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))) をしてコールする必要があります。PHP 5.1.0 以降では、これをする必要は ありません。PHP が自動的に行います。

class_name

simplexml_load_file() が指定されたクラスのオブジェクトを返すようにするために、 このオプションのパラメータを使用します。 このクラスは、SimpleXMLElement クラスを継承していなければなりません。

options

PHP 5.1.0 と Libxml 2.6.0 から、追加の Libxml パラメータ を指定するために options を使用することもできます。

ns

名前空間プレフィックスあるいは URI。

is_prefix

ns がプレフィックスである場合に TRUE、 URI である場合に FALSE。デフォルトは FALSE です。

返り値

SimpleXMLElement クラスのオブジェクトを返します。 XML ドキュメント内のデータをプロパティに含みます。 失敗した場合に FALSE を返します。

エラー / 例外

XML データ内でエラーが見つかるたびに E_WARNING エラーメッセージが発生します。

ヒント

libxml_use_internal_errors() ですべての XML エラーを抑制し、 後から libxml_get_errors() で取得することもできます。

例1 XMLドキュメントをパースする

<?php
// The file test.xml contains an XML document with a root element
// and at least an element /[root]/title.

if (file_exists('test.xml')) {
    
$xml simplexml_load_file('test.xml');

    
print_r($xml);
} else {
    exit(
'Failed to open test.xml.');
}
?>

このスクリプトは成功時に以下のように出力します。

SimpleXMLElement Object
(
  [title] => Example Title
  ...
)

この時点で、$xml->title としたり、 他の全ての要素にアクセスすることができます。

参考


SimpleXML 関数
PHP Manual