(PHP 5, PHP 7)
simplexml_load_file — XMLファイルをパースし、オブジェクトに代入する
$filename
[, string $class_name = "SimpleXMLElement"
[, int $options = 0
[, string $ns = ""
[, bool $is_prefix = false
]]]] ) : SimpleXMLElement指定したファイルの中の整形式 XML ドキュメントをオブジェクトに変換します。
filenameXML ファイルへのパス。
注意:
Libxml 2 は URI をエスケープしませんので、例えば URI パラメータ a に b&c を渡したい場合、 simplexml_load_file(rawurlencode('http://example.com/?a=' . urlencode('b&c'))) をしてコールする必要があります。PHP 5.1.0 以降では、これをする必要は ありません。PHP が自動的に行います。
class_namesimplexml_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 としたり、 他の全ての要素にアクセスすることができます。