simplexml_import_dom

Get a SimpleXMLElement object from an XML or HTML node

Description

SimpleXMLElementnull simplexml_import_dom(object $node, stringnull $class_name = SimpleXMLElement::class)

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

Version Description
8.4.0 This function now throws a TypeError instead of a ValueError when passed a non-XML or non-HTML node.

Examples

Example #1 Importing DOM

<?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:

blah

See Also