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

# 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

整形式 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() で取得することもできます。

### 例

例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 のようにアクセスすることができます。

### 参考

- simplexml_load_file() - XMLファイルをパースし、オブジェクトに代入する
- SimpleXMLElement::__construct() - 新しい SimpleXMLElement オブジェクトを作成する
- XML エラーの対応
- libxml_use_internal_errors() - libxmlエラーを無効にし、ユーザーが必要に応じてエラー情報を取得できるようにする
- 基本的な SimpleXML の使用法