simplexml_import_dom
Description
The simplexml_import_dom of SimpleXML for PHP gets a SimpleXMLElement object from a DOM node.
Syntax
simplexml_import_dom(
SimpleXMLElement|DOMNode $node,
?string $class_name = SimpleXMLElement::class
): ?SimpleXMLElementParameters
node
A DOM Element node
class_name
An object of the specified class. The class should extend the SimpleXMLElement class.
Return
Returns a SimpleXMLElement or null on failure.
Examples
1 · node · SimpleXMLElement · simplexml_load_file
<? $filename = $_SERVER["DOCUMENT_ROOT"] . "/assets/xml/namespace.xml"; $node = simplexml_load_file($filename); $return = simplexml_import_dom($node); print_r($return);
SimpleXMLElement Object
(
[person] => Array
(
[0] => SimpleXMLElement Object
(
)
[1] => SimpleXMLElement Object
(
)
[2] => SimpleXMLElement Object
(
)
)
)
2 · node · SimpleXMLElement · simplexml_load_string
<?
$data =
<<<XML
<?xml version="1.0"?>
<people>
<person xmlns:a="https://osbo.com">
<a:first a:class="myclass" a:id="myid" a:title="mytitle">first</a:first>
<a:last>last</a:last>
<a:age>age</a:age>
</person>
<person xmlns:b="https://osbo.com">
<b:first b:class="myclass" b:id="myid" b:title="mytitle">first</b:first>
<b:last>last</b:last>
<b:age>age</b:age>
</person>
<person xmlns:c="https://osbo.com">
<c:first c:class="myclass" c:id="myid" c:title="mytitle">first</c:first>
<c:last>last</c:last>
<c:age>age</c:age>
</person>
</people>
XML;
$node = simplexml_load_string($data);
$return = simplexml_import_dom($node);
print_r($return);
SimpleXMLElement Object
(
[person] => Array
(
[0] => SimpleXMLElement Object
(
)
[1] => SimpleXMLElement Object
(
)
[2] => SimpleXMLElement Object
(
)
)
)
3 · node · DOMNode
<?
$source =
<<<XML
<?xml version="1.0"?>
<people>
<person xmlns:a="https://osbo.com">
<a:first a:class="myclass" a:id="myid" a:title="mytitle">first</a:first>
<a:last>last</a:last>
<a:age>age</a:age>
</person>
<person xmlns:b="https://osbo.com">
<b:first b:class="myclass" b:id="myid" b:title="mytitle">first</b:first>
<b:last>last</b:last>
<b:age>age</b:age>
</person>
<person xmlns:c="https://osbo.com">
<c:first c:class="myclass" c:id="myid" c:title="mytitle">first</c:first>
<c:last>last</c:last>
<c:age>age</c:age>
</person>
</people>
XML;
$node = new DOMDocument();
$node->loadXML($source);
$return = simplexml_import_dom($node);
print_r($return);
SimpleXMLElement Object
(
[person] => Array
(
[0] => SimpleXMLElement Object
(
)
[1] => SimpleXMLElement Object
(
)
[2] => SimpleXMLElement Object
(
)
)
)
4 · class_name
<?
class myclass extends SimpleXMLElement
{
}
$source =
<<<XML
<?xml version="1.0"?>
<people>
<person xmlns:a="https://osbo.com">
<a:first a:class="myclass" a:id="myid" a:title="mytitle">first</a:first>
<a:last>last</a:last>
<a:age>age</a:age>
</person>
<person xmlns:b="https://osbo.com">
<b:first b:class="myclass" b:id="myid" b:title="mytitle">first</b:first>
<b:last>last</b:last>
<b:age>age</b:age>
</person>
<person xmlns:c="https://osbo.com">
<c:first c:class="myclass" c:id="myid" c:title="mytitle">first</c:first>
<c:last>last</c:last>
<c:age>age</c:age>
</person>
</people>
XML;
$node = new DOMDocument();
$node->loadXML($source);
$class_name = "myclass";
$return = simplexml_import_dom($node, $class_name);
print_r($return);
myclass Object
(
[person] => Array
(
[0] => myclass Object
(
)
[1] => myclass Object
(
)
[2] => myclass Object
(
)
)
)