php8.5
Home/ Manual/ simplexml / functions/ simplexml_import_dom

simplexml_import_dom

PHP function Edit on GitHub ✎

(PHP 5, PHP 7, PHP 8)

Get a SimpleXMLElement object from an XML or HTML node

Description

simplexml_import_dom(object $node, string|null $class_name = SimpleXMLElement::class): SimpleXMLElement|null

This function takes a node of a DOM document and makes it into a SimpleXML node. This new object can then be used as a native SimpleXML element.

Parameters

node

A DOM Element node

class_name

You may use this optional parameter so that simplexml_import_dom() will return an object of the specified class. That class should extend the SimpleXMLElement class.

Return Values

Returns a SimpleXMLElement or null on failure.

Errors/Exceptions

Throws a TypeError when passed a non-XML or non-HTML node.

Changelog

VersionDescription
8.4.0Added support for Dom\Document.
8.4.0This function now throws a TypeError instead of a ValueError when passed a non-XML or non-HTML node.

Examples

Importing a DOMDocument

php
<?php
$dom = new DOMDocument;
$dom->loadXML('<books><book><title>blah</title></book></books>');
if (!$dom) {
    echo 'Error while parsing the document';
    exit;
}

$s = simplexml_import_dom($dom);

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

The above example will output:

output
blah

Importing a Dom\Document

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

$s = simplexml_import_dom($dom);

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

The above example will output:

output
blah

See Also

Source: reference/simplexml/functions/simplexml-import-dom.xml · from the official PHP manual (php/doc-en)