(PHP 5, PHP 7, PHP 8)
simplexml_load_string — XML 文字列をオブジェクトに代入する
$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
を返します。
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
のようにアクセスすることができます。