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

# 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

### 参考

- dom_import_simplexml() - SimpleXMLElement オブジェクトから DOMAttr または DOMElement オブジェクトを取得する
- 基本的な SimpleXML の使用法

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