関数・クラス解説

simplexml_load_file

version:PHP 5, PHP 7 (公式)

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 パラメータ 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 を返します。 警告この関数は論理値FALSE を返す可能性がありますが、FALSE として評価される値を返す可能性もあります。詳細については 論理値のセクションを参照してください。この関数の返り値を調べるには===演算子 を使用してください。

エラー

XML データ内でエラーが見つかるたびに E_WARNING エラーメッセージが発生します。 ヒント libxml_use_internal_errors() ですべての XML エラーを抑制し、 後から libxml_get_errors() で取得することもできます。

注意

警告この関数は論理値FALSE を返す可能性がありますが、FALSE として評価される値を返す可能性もあります。詳細については 論理値のセクションを参照してください。この関数の返り値を調べるには===演算子 を使用してください。

更新履歴

バージョン 説明
5.2.0 オプションの引数 is_prefix が追加されました。

サンプル

例1 XMLドキュメントをパースする

// 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エラーを無効にし、ユーザーが必要に応じてエラー情報を取得できるようにする
  • 基本的な SimpleXML の使用法
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール