note 45700 added to function.xml-parse

From: Date: Wed, 15 Sep 2004 15:43:34 +0000
Subject: note 45700 added to function.xml-parse
Groups: php.notes 
Request: Send a blank email to php-notes+get-76739@lists.php.net to get a copy of this message
Here's a handy way to generate a tree that can be can be decended easily. <?php $file = 'xmltest.xml'; $tag_tree = array(); $stack = array(); class tag { var $name; var $attrs; var $children; function tag($name, $attrs, $children) { $this->name = $name; $this->attrs = $attrs; $this->children = $children; } } function startTag($parser, $name, $attrs) { global $tag_tree, $stack; $tag = new tag($name,$attrs,''); array_push($stack,$tag); } function endTag($parser, $name) { global $stack; $stack[count($stack)-2]->children[] = $stack[count($stack)-1]; array_pop($stack); } $xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startTag", "endTag"); $data = xml_parse($xml_parser,file_get_contents($file)); if(!$data) { 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("\n"); print_r($stack); print("\n"); ?> ---- Manual Page -- http://www.php.net/manual/en/function.xml-parse.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+45700 Delete -- http://master.php.net/manage/user-notes.php?action=delete+45700&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+45700&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#76739) next »