protected static function xmlToDOMDocument($var, $parent_path)
    {
        // There's no way to check validity in DOMDocument without making errors. For shame!
        if (!self::xmlToSimpleXML($var, $parent_path)) {
            return null;
        }

        $xml = new DOMDocument();
        $xml->loadXML($var);
        $xml = $xml->firstChild;

        if (null === $parent_path) {
            $access_path = null;
        } else {
            $access_path = '@\\DOMDocument::loadXML('.$parent_path.')->firstChild';
        }

        $name = $xml->nodeName;

        return array($xml, $access_path, $name);
    }
protected static function xmlToDOMDocument($var, $parent_path)
    {
        // There's no way to check validity in DOMDocument without making errors. For shame!
        if (!self::xmlToSimpleXML($var, $parent_path)) {
            return null;
        }

        $xml = new DOMDocument();
        $xml->loadXML($var);
        $xml = $xml->firstChild;

        if (null === $parent_path) {
            $access_path = null;
        } else {
            $access_path = '@\\DOMDocument::loadXML('.$parent_path.')->firstChild';
        }

        $name = $xml->nodeName;

        return array($xml, $access_path, $name);
    }
protected static function xmlToDOMDocument ( $ var , $ parent_path ) { // There's no way to check validity in DOMDocument without making errors. For shame! if ( ! self :: xmlToSimpleXML ( $ var , $ parent_path ) ) { return null ; } $ xml = new DOMDocument ( ) ; $ xml -> loadXML ( $ var ) ; $ xml = $ xml -> firstChild ; if ( null === $ parent_path ) { $ access_path = null ; } else { $ access_path = '@\\DOMDocument::loadXML(' . $ parent_path . ')->firstChild' ; } $ name = $ xml -> nodeName ; return array ( $ xml , $ access_path , $ name ) ; }
Get the DOMDocument info.

The documentation of DOMDocument::loadXML() states that while you can
call it statically, it will give an E_STRICT warning. On my system it
actually gives an E_DEPRECATED warning, but it works so we'll just add
an error-silencing '@' to the access path.

If it errors loading then we wouldn't have gotten this far in the first place.

@param string      $var         The XML string
@param null|string $parent_path The path to the parent, in this case the XML string

@return null|array The root element DOMNode, the access path, and the root element name
Get the DOMDocument info .