note 96031 added to class.xmlreader

From: Date: Thu, 04 Feb 2010 02:52:24 +0000
Subject: note 96031 added to class.xmlreader
Groups: php.notes 
Request: Send a blank email to php-notes+get-165646@lists.php.net to get a copy of this message
<?php function xml_to_assoc($xml) { $tree = NULL; while ($xml->read()) { switch ($xml->nodeType) { case XMLReader::END_ELEMENT: return $tree; case XMLReader::ELEMENT: $node = $xml->isEmptyElement ? '' : xml_to_assoc($xml); $name = $xml->name; if ($xml->hasAttributes) { if ( ! is_array($node) && ! empty($node)) $node = array($node); while ($xml->moveToNextAttribute()) $node['attributes'][$xml->name] = $xml->value; } if (isset($tree[$name]) && ! isset($tree[$name][0])) { $array = $tree[$name]; unset($tree[$name]); $tree[$name][] = $array; } if (isset($tree[$name])) $tree[$name][] = $node; else $tree[$name] = $node; break; case XMLReader::TEXT: case XMLReader::CDATA: $tree .= $xml->value; } } return $tree; } $xml = new XMLReader(); #$xml->open($xmlfile); $xml->xml($xmlstring); $assoc = xml_to_assoc($xml); $xml->close(); echo "<pre>".print_r($assoc, true)."</pre>"; ?> ---- Server IP: 91.199.167.223 Probable Submitter: 87.208.6.230 ---- Manual Page -- http://www.php.net/manual/en/class.xmlreader.php Edit -- https://master.php.net/note/edit/96031 Del: integrated -- https://master.php.net/note/delete/96031/integrated Del: useless -- https://master.php.net/note/delete/96031/useless Del: bad code -- https://master.php.net/note/delete/96031/bad+code Del: spam -- https://master.php.net/note/delete/96031/spam Del: non-english -- https://master.php.net/note/delete/96031/non-english Del: in docs -- https://master.php.net/note/delete/96031/in+docs Del: other reasons-- https://master.php.net/note/delete/96031 Reject -- https://master.php.net/note/reject/96031 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#165646) next »