(PHP 5)
simplexml_import_dom — Erzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten
Die Funktion wandelt einen Knoten eines DOM-Dokuments in einen SimpleXML-Knoten. Das neue Objekt kann wie ein normales SimpleXML-Element verwendet werden.
Ein DOM-Element-Knoten.
Sie können diesen optionalen Parameter verwenden, damit simplexml_import_dom() ein Objekt der angegebenen Klasse zurückgibt. Diese Klasse sollte die SimpleXMLElement-Klasse erweitern.
Gibt ein SimpleXMLElement zurück. Im Fehlerfall wird FALSE zurückgegeben.
Beispiel #1 DOM Import
<?php
$dom = new DOMDocument;
$dom->loadXML('<buecher><buch><titel>blah</titel></buch></buecher>');
if (!$dom) {
    echo 'Fehler beim Parsen des Dokuments';
    exit;
}
$s = simplexml_import_dom($dom);
echo $s->buch[0]->titel; // blah
?>
Something that surprised me, any changes made to the SimpleXML object obtained from the imported DOMDocument also change the original DOMDocument.
e.g.
<?php
$string = '<root><foo>abc</foo></root>';
$domxml = DOMDocument::loadXML($string);
$simplexml = simplexml_import_dom($domxml);
$simplexml->foo = "xyz";
$simplexml->bar = "123";
echo $domxml->saveXML();
?>
Outputs:
--START--
<?xml version="1.0"?>
<root><foo>xyz</foo><bar>123</bar></root>
Please note that a valid SimpleXMLElement is typecasted to false.
<?php
    $string = '<root><foo>abc</foo></root>';
    $xml = DOMDocument::loadXML($string);
    $xml = simplexml_import_dom($xml);
    echo 'simplexml_import_dom';
    var_dump($xml);
    var_dump((bool)$xml);
    $xml = simplexml_load_string('<root><foo>abc</foo></root>');
    echo 'simplexml_load_string';
    var_dump($xml);
    var_dump((bool)$xml);
    $xml = simplexml_load_file('test.xml');
    echo 'simplexml_load_file';
    var_dump($xml);
    var_dump((bool)$xml);
?>
Outputs:
--START--
simplexml_import_dom
object(SimpleXMLElement)[2]
  public 'foo' => 'abc'
false
simplexml_load_string
object(SimpleXMLElement)[1]
  public 'foo' => 'abc'
false
simplexml_load_file
object(SimpleXMLElement)[2]
  public 'foo' => 'abc'
false
--END--