PHP5: Find Root Node in DOMDocument

BlaM picture BlaM · Jul 30, 2009 · Viewed 26.5k times · Source

I have a PHP5 DOMDocument and I try to find the root node (not the root element).

Example:

<test>
    <element>
        <bla1>x</bla1>
        <bla2>x</bla2>
    </element>
    <element>
        <bla1>y</bla1>
        <bla2>y</bla2>
    </element>
    <element>
        <bla1>z</bla1>
        <bla2>z</bla2>
    </element>
</test>

I want to get the DOMNode of "test" so that I can call - for example - hasChildNodes. I can get the "documentElement", but that's a DOMElement. Maybe I can go from there?

$d = DOMDocument::loadXML($xml);
// [... do some stuff here to find document's root node ...]
if ($rootnode->hasChildNodes()) echo 'yayy!'

Who can fill the gap? I seem to be blind.

(Obviously it's not only hasChildNodes I want to call - so NO, it doesn't help to find another method to find out if the document contains stuff. That's just for my simple example. I need a DOMNode at the end.)

Answer

Cristian Toma picture Cristian Toma · Jul 30, 2009

DOMElement extends DOMNode.

You get the Root DOMElement by $d->documentElement.