note 95459 added to domnode.haschildnodes
| From: | syngcwatsyncgw dot com at osu1 dot php dot net | 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