Php/docs/function.simplexml-load-file

提供:Dev Guides
< Php
移動先:案内検索

simplexml_load_file

(PHP 5, PHP 7)

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


説明

simplexml_load_file ( string $filename [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] ) : SimpleXMLElement|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 を返します。

警告 この関数は論理値 false を返す可能性がありますが、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 としたり、 他の全ての要素にアクセスすることができます。


参考