simplexml_load_file: XMLファイルをパースし、オブジェクトに代入する (SimpleXML 関数) - PHPプロ!マニュアル
simplexml_load_file: XMLファイルをパースし、オブジェクトに代入する
simplexml_load_file
(PHP 5)
simplexml_load_file — XMLファイルをパースし、オブジェクトに代入する
説明
指定したファイルの中の整形式 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
- is_prefix
返り値
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_load_string() - XML 文字列をオブジェクトに代入する
- SimpleXMLElement::__construct() - 新しい SimpleXMLElement オブジェクトを作成する
- XML エラーの対応
- libxml_use_internal_errors() - libxmlエラーを無効にし、ユーザが必要に応じてエラー情報を取得できるようにする



ページのトップへ


今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!