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

# simplexml_load_string

(PHP 5, PHP 7, PHP 8)

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

### 説明

function simplexml_load_string(
string `$data`,
?string `$class_name` = `SimpleXMLElement::class`,
int `$options` = 0,
string `$namespace_or_prefix` = "",
bool `$is_prefix` = `false`
): SimpleXMLElement|false

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

### パラメータ

`data`

  整形式 XML 文字列。

`class_name`

  このオプションのパラメータを使用して、 simplexml_load_file() が指定されたクラスのオブジェクトを返すようにします。 このクラスは、SimpleXMLElement クラスを継承していなければなりません。

`options`
  追加の Libxml パラメータ を、ビット演算子の `OR` で指定します。
`namespace_or_prefix`

  名前空間プレフィックスあるいは URI。

`is_prefix`

  `namespace_or_prefix` がプレフィックスである場合に `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 の使用法

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open