(PHP 5, PHP 7, PHP 8)
simplexml_load_file — XMLファイルをパースし、オブジェクトに代入する
$filename
, string $class_name
= "SimpleXMLElement"
, int $options
= 0
, string $ns
= ""
, bool $is_prefix
= false
) : SimpleXMLElement|false指定したファイルの中の整形式 XML ドキュメントをオブジェクトに変換します。
filename
XML ファイルへのパス。
注意:
Libxml 2 は URI をエスケープしませんので、例えば URI パラメータ
a
にb&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() で取得することもできます。
バージョン | 説明 |
---|---|
5.2.0 |
オプションの引数 is_prefix が追加されました。
|
例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
としたり、
他の全ての要素にアクセスすることができます。