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.)
DOM Model- The W3C has broken down the DOM into a tree structure of nodes of varying types. The Node interface is the base interface for all elements. All objects implementing this interface expose methods for dealing with children.
Prior to php 5.1.3 this guy has it licked
https://macfoo.wordpress.com/2009/06/03/getting-the-root-node-from-an-xml-string
Cross Posted to SO Questions that I hit while trying to find how to do this pre 5.1.3
DOMElement extends DOMNode.
You get the Root DOMElement by $d->documentElement.
According to the PHP docs DOMElement is a subclass of DOMNode, so it should inherit the
hasChildNodes()
-method.