note 96031 added to class.xmlreader
| From: | Anonymous at osu1 dot php dot net | 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