From: sgunderson@bigfoot.com <> Date: Sat, 26 Apr 2008 17:15:53 +0000 (+0200) Subject: Fix a bug where a cleaning run could skip over certain nodes under PHP5. X-Git-Url: https://git.sesse.net/?p=xml-template;a=commitdiff_plain;h=016ab26637956613524017d95b1ecbf58f0d33f3 Fix a bug where a cleaning run could skip over certain nodes under PHP5. --- diff --git a/php5/xml-template.php b/php5/xml-template.php index ed1e8f8..8e53452 100644 --- a/php5/xml-template.php +++ b/php5/xml-template.php @@ -32,8 +32,13 @@ function XML_Template_process($node, $obj, $clean = 1) $node->appendChild($doc->createTextNode($obj)); } else if (is_associative_array($obj)) { # substitute $num_children = ($node->childNodes == null) ? 0 : $node->childNodes->length; + $children = array(); for ($i = 0; $i < $num_children; ++$i) { - $child = $node->childNodes->item($i); + $children[] = $node->childNodes->item($i); + } + + for ($i = 0; $i < $num_children; ++$i) { + $child = $children[$i]; $processed = false; if ($child->nodeType == XML_ELEMENT_NODE) {