« SimpleXML 関数
simplexml_load_file »

simplexml_import_dom

(PHP 5, PHP 7, PHP 8)

simplexml_import_dom — XML または HTML ノードから SimpleXMLElement オブジェクトを取得する

説明

function simplexml_import_dom(object $node, ?string $class_name = SimpleXMLElement::class): ?SimpleXMLElement

この関数は、DOM ドキュメントのノードを引数とし、 SimpleXML ノードを作成します。この新しいオブジェクトは、 この後、通常の SimpleXML 要素として使用できます。

パラメータ

node

DOM 要素ノード。

class_name

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

戻り値

SimpleXMLElement を返します。 失敗時に null を返します。

エラー / 例外

非XMLまたは非HTMLのnodeが渡された場合、 TypeErrorをスローします。

変更履歴

バージョン 説明
8.4.0 Dom\Document のサポートが追加されました。
8.4.0 この関数は、非XMLまたは非HTMLのnodeが渡された場合、 ValueError ではなく TypeError をスローするようになりました。

例

例1 DOMDocument のインポート

<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
    echo 'ドキュメントのパース時にエラーが発生しました';
    exit;
}

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

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

blah

例2 Dom\Document のインポート

<?php
$dom = Dom\XMLDocument::createFromString('<books><book><title>blah</title></book></books>');

$s = simplexml_import_dom($dom);

echo $s->book[0]->title;
?>

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

blah

参考

関連キーワード:
SimpleXMLElement   simplexml   import   ノード   book   title   SimpleXML   node   books   blah   ドキュメント   TypeError   Document   DOMDocument   インポート   load   通常   継承   履歴   サポート   ValueError   スロー   loadXML   パース   exit
関連する関数・ページ:
function.dom-import-simplexml   function.dom-ns-import-simplexml   ref.simplexml   ref.dom   book.simplexml   function.simplexml-load-file