note 95459 added to domnode.haschildnodes

From: Date: Mon, 04 Jan 2010 13:53:44 +0000
Subject: note 95459 added to domnode.haschildnodes
Groups: php.notes 
Request: Send a blank email to php-notes+get-164606@lists.php.net to get a copy of this message
This function is a bit tricky. If you want to find XML childnodes it is useless. You need to create a work-around: <?php $x = new DOMDocument(); $x->loadXML(' <A> <B>b-text</B> <C> <D>d-text</D> </C> <E/> </A>'); shownode($x->getElementsByTagName('A')->item(0)); function shownode($x) { foreach ($x->childNodes as $p) if (hasChild($p)) { echo $p->nodeName.' -> CHILDNODES<br>'; shownode($p); } elseif ($p->nodeType == XML_ELEMENT_NODE) echo $p->nodeName.' '.$p->nodeValue.'<br>'; } function hasChild($p) { if ($p->hasChildNodes()) { foreach ($p->childNodes as $c) { if ($c->nodeType == XML_ELEMENT_NODE) return true; } } return false; } ?> shows: B b-text C -> CHILDNODES D d-text E ---- Server IP: 69.147.83.197 Probable Submitter: 84.176.44.72 ---- Manual Page -- http://www.php.net/manual/en/domnode.haschildnodes.php Edit -- https://master.php.net/note/edit/95459 Del: integrated -- https://master.php.net/note/delete/95459/integrated Del: useless -- https://master.php.net/note/delete/95459/useless Del: bad code -- https://master.php.net/note/delete/95459/bad+code Del: spam -- https://master.php.net/note/delete/95459/spam Del: non-english -- https://master.php.net/note/delete/95459/non-english Del: in docs -- https://master.php.net/note/delete/95459/in+docs Del: other reasons-- https://master.php.net/note/delete/95459 Reject -- https://master.php.net/note/reject/95459 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#164606) next »