note 58200 added to ref.xml

From: Date: Thu, 27 Oct 2005 11:16:22 +0000
Subject: note 58200 added to ref.xml
Groups: php.notes 
Request: Send a blank email to php-notes+get-97683@lists.php.net to get a copy of this message
hä??? <? $filename = 'sample.xml'; $obj->tree = '$obj->xml'; $obj->xml = ''; function startElement($parser, $name, $attrs) { global $obj; // If var already defined, make array eval('$test=isset('.$obj->tree.'->'.$name.');'); if ($test) { eval('$tmp='.$obj->tree.'->'.$name.';'); eval('$arr=is_array('.$obj->tree.'->'.$name.');'); if (!$arr) { eval('unset('.$obj->tree.'->'.$name.');'); eval($obj->tree.'->'.$name.'[0]=$tmp;'); $cnt = 1; } else { eval('$cnt=count('.$obj->tree.'->'.$name.');'); } $obj->tree .= '->'.$name."[$cnt]"; } else { $obj->tree .= '->'.$name; } if (count($attrs)) { eval($obj->tree.'->attr=$attrs;'); } } function endElement($parser, $name) { global $obj; // Strip off last -> for($a=strlen($obj->tree);$a>0;$a--) { if (substr($obj->tree, $a, 2) == '->') { $obj->tree = substr($obj->tree, 0, $a); break; } } } function characterData($parser, $data) { global $obj; eval($obj->tree.'->data=\''.$data.'\';'); } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); if (!($fp = fopen($filename, "r"))) { die("could not open XML input"); } while ($data = fread($fp, 4096)) { if (!xml_parse($xml_parser, $data, feof($fp))) { die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); } } xml_parser_free($xml_parser); print_r($obj->xml); return 0; ---- Manual Page -- http://www.php.net/manual/en/ref.xml.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+58200 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+58200&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+58200&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+58200&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+58200&report=yes&reason=useless Delete: non-english -- http://master.php.net/manage/user-notes.php?action=delete+58200&report=yes&reason=non-english Delete: already in docs -- http://master.php.net/manage/user-notes.php?action=delete+58200&report=yes&reason=already+in+docs Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+58200&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+58200&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#97683) next »