« simplexml_load_file
WDDX »

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_string() が指定されたクラスのオブジェクトを返すようにします。 このクラスは、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   SimpleXMLElement   prefix   libxml   代入   body   namespace   errors   title   SimpleXML   options   整形   演算子   プレフィックス   論理   可能性   internal   パース   document   Forty   What   Jane   know   answer
関連する関数・ページ:
function.simplexml-load-file   simplexmlelement.construct   ref.simplexml   book.simplexml   function.simplexml-import-dom   function.dom-ns-import-simplexml