(PHP 5, PHP 7)
simplexml_load_file — XMLファイルをパースし、オブジェクトに代入する
$filename
[, string $class_name
= "SimpleXMLElement"
[, int $options
= 0
[, string $ns
= ""
[, bool $is_prefix
= 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() で取得することもできます。
例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 としたり、 他の全ての要素にアクセスすることができます。