note 72120 deleted from ref.domxml by nlopess

From: Date: Wed, 03 Jan 2007 15:12:55 +0000
Subject: note 72120 deleted from ref.domxml by nlopess
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-121249@lists.php.net to get a copy of this message
Note Submitter: amsea at lvge dot com ---- Hi, body. a update for the function of xml2array, to dispose the CDATA Node. <?php // func.xml2array.php // updater from http://www.oo8h.com/ // a update function to dispose the CDATA // add a case for XML_CDATA_SECTION_NODE: function xml2array($domnode) { $nodearray = array(); $domnode = $domnode->firstChild; while (!is_null($domnode)) { $currentnode = $domnode->nodeName; switch ($domnode->nodeType) { case XML_ELEMENT_NODE: if ($domnode->hasAttributes() ) { $elementarray = array(); $attributes = $domnode->attributes; foreach ($attributes as $index => $domobj) { $elementarray[$domobj->name] = $domobj->value; } } break; case XML_CDATA_SECTION_NODE: case XML_TEXT_NODE: if(!(trim($domnode->nodeValue) == "")) $nodearray = $domnode->nodeValue; break; } if ( $domnode->hasChildNodes() ) { $nodearray[$currentnode][] = xml2array($domnode); if (isset($elementarray)) { $currnodeindex = count($nodearray[$currentnode]) - 1; $nodearray[$currentnode][$currnodeindex]['@'] = $elementarray; } } else { if (isset($elementarray) && $domnode->nodeType != XML_TEXT_NODE) { $nodearray[$currentnode]['@'] = $elementarray; } } $domnode = $domnode->nextSibling; } return $nodearray; } ?> update by amsea, http://www.oo8h.com/

« previous php.notes (#121249) next »