(PHP 5, PHP 7)

simplexml_import_domErzeugt ein SimpleXMLElement-Objekt aus einem DOM-Knoten


SimpleXMLElement simplexml_import_dom ( DOMNode $node [, string $class_name = "SimpleXMLElement" ] )

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

= new DOMDocument;
if (!
$dom) {
'Fehler beim Parsen des Dokuments';

$s simplexml_import_dom($dom);


Das oben gezeigte Beispiel erzeugt folgende Ausgabe:


Siehe auch

add a note add a note

User Contributed Notes 1 note

brandonkirsch at perceptionilluminates dot com
3 years ago
simplexml_import_dom() will accept DOMNodes or other SimpleXMLElements.  This has a useful purpose if you are extending the SimpleXMLElement class and would prefer the xpath() method to return your class extension instead of basic SimpleXMLElements.  For example:

class MySimpleXML extends SimpleXMLElement{
    public function xpath($xpath){
        $return = array();
        $simpleXmls = parent::xpath($xpath); // run SimpleXMLElement xpath, returning an array of SimpleXMLElements
        foreach($simpleXmls as $xml){
            $return[] = simplexml_import_dom($xml,'MySimpleXML'); // copy SimpleXMLElement, returning as MySimpleXML instance
        return $return;

Now I can create an instance of MySimpleXML, run an xpath, and get my results back as an array of MySimpleXML elements instead of the native SimpleXMLElement:

$mySimpleXml = new mySimpleXml('<root><node/></root>');

$array = $mySimpleXml->xpath('/root/node'); // returns array with a single MySimpleXml object
To Top