Php/docs/function.simplexml-load-string

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

simplexml_load_string

(PHP 5, PHP 7)

simplexml_load_string XML 文字列をオブジェクトに代入する


説明

simplexml_load_string ( string $data [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns [, bool $is_prefix = false ]]]] ) : SimpleXMLElement|false

整形式 XML 文字列をオブジェクトとして返します。


パラメータ

data
整形式 XML 文字列。
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$string = <<<XML<?xml version='1.0'?> <document> <title>Forty What?</title> <from>Joe</from> <to>Jane</to> <body>  I know that's the answer -- but what's the question? </body></document>XML;$xml = simplexml_load_string($string);print_r($xml);?>

上の例の出力は以下となります。


SimpleXMLElement Object
(
  [title] => Forty What?
  [from] => Joe
  [to] => Jane
  [body] =>
   I know that's the answer -- but what's the question?
)

この時点で、$xml->body のようにアクセスすることができます。


参考