Hi, Did some more tweaking and if we create a new element for each node ther is no need to clone, saves a few lines of code :)
function parseBranch($branch, &$doc, &$parent)
{
foreach ($branch as $key => $val) {
switch ($key) {
// parent attributes
case ('ATTRIBUTES'):
foreach ($val as $attrName => $attrVal) {
switch ($attrName){
case 'VALUE':
$nodeValue =
$doc->create_text_node($attrVal);
$parentValue =
$parent->append_child($nodeValue);
break;
default:
$parent->set_attribute($attrName, $attrVal);
break;
}
}
break;
// parent value
case ('VALUE'):
$nodeValue = $doc->create_text_node($val);
$parentValue = $parent->append_child($nodeValue);
break;
default:
// parse children of this node
foreach ($val as $children) {
//create node
$node = $doc->create_element($key);
$child = $parent->append_child($node);
//set is elements
parseBranch($children, $doc, $child);
}
break;
}
}
}
--
regards,
Tom
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

